1

我已经看到这些情况工作正常(注意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

4

0 回答 0