繁体   English   中英

Scala中的“非简单类型”警告意味着什么?

[英]What does the “not a simple type” warning mean in Scala?

我的Scala 2.9.1项目现在发出176个警告,几乎完全像这样:

[warn] Not a simple type:
[warn]  Type: _29.type#source.type forSome { type _29.type <: Ontology.this.TruncationFunctor } (class class scala.tools.nsc.symtab.Types$ExistentialType)
[warn]  Transformed: class xsbti.api.Existential

(它从较少开始,但我的编码风格似乎引发了这个警告,因为我越来越多了。)

任何人都可以向我解释这个警告意味着什么,以及我应该如何避免它? 编译器不会发出任何行号,所以我甚至不确定它究竟来自哪里。

这似乎特定于sbt ,其中关于类型的假设是不正确的并且发出警告。 当sbt需要从源文件中提取一些信息时,似乎这段代码就会运行。

请参阅https://github.com/harrah/xsbt/blob/0.11/compile/interface/API.scala#L105

我的猜测是存在类型和类型投影的组合导致这种情况。 如果您可以缩小范围,可能需要将此报告为sbt问题。

这是一个SBT问题: https//github.com/sbt/sbt/issues/830 此消息的级别已从警告更改为日志0.13.6。

另请参阅scala-internals组中的相关讨论: https ://groups.google.com/forum/#!msg / scala-internals / ANCAI6dVYPw / 2Gt5z_S3Gc0J

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM