我已经看到这些情况正常(注意 scala.Int 而不是 Int ):
def f(l: List[scala.Int]): List[scala.Int] = l
val l: List[scala.Int] = List[scala.Int]()
但在以下示例中使用整个路径失败:
def f[T: TypeTag](l: List[T]): Int = {
l match {
case li: List[scala.Int] if typeOf[T] <:< typeOf[scala.Int] => li(0)
case _ => 0
}
}
是否可以在保留 scala.Int 的同时逃避这种情况?问题是我需要自动生成此代码,并且我希望避免使用 import redefinitions 。