このコードが型チェックを行わないのはなぜですか?
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] と Each[A,B] の型を具体化できない/しないのでしょうか?
これはscala 2.8.2およびscala 2.9.2で発生しました