启用了“explain types”编译器选项的IntelliJ会发出以下错误消息:
Warning: scala <:<[Array[Z],Array[Z]] <: Array[Z] => scala.collection.GenTraversableOnce[?]?
Warning:
Warning: scala: false
我怀疑IntelliJ正在修改scalac
输出,因此我使用标记-explaintypes
手动运行编译器:
<:<[Array[Z],Array[Z]] <: Array[Z] => scala.collection.GenTraversableOnce[?]?
false
Nothing <: A?
true
A <: AnyRef?
false
a.type <: Array[T]?
false
Nothing <: A?
true
A <: AnyRef?
false
a.type <: Array[T]?
false
注意:我已经用Z
替换了上面的真实类型名称,因为它很长,我怀疑它不相关。
可悲的是,这两条消息都没有对我说明多少。有人可以解释如何解释这些消息,理想情况下是指向文档的指针?谷歌搜索scalac explaintypes
主要返回有关人们抱怨他们不理解输出的消息线索。