为什么此代码不进行类型检查?
def foo: Either[String, List[Int]] = {
val x = null: Either[String, String]
x match {
case l @ Left(_) => l
case Right(_) => Right(List(3))
}
}
具体来说,为什么编译器不能/不具体化 Left[A,X] 和 Either[A,B] 的类型?
这发生在 scala 2.8.2 和 scala 2.9.2