1

我只是遇到了一个讨厌的错误,基本上,

sealed trait T extends Product with Serializable
case object O extends T
val mistake = List("foo", "bar", O /* forgot O.toString */)

所以 scala 继续推断List[java.io.Serializable]这个列表,因为Stringis not scala.Serializable, but is java.io.Serializable,并且 T is scala.Serializablewhich extends java.io.Serializable。我通常依靠 WartRemover 来捕捉此类错误,但在这种情况下它没有。显然它只抱怨 inferring scala.Serializable。有什么理由不警告疣java.io.Serializable吗?

4

0 回答 0