これらの状況が正常に機能することを確認しました ( Intの代わりにscala.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を保持したまま、この状況を回避することは可能ですか? 問題は、このコードを自動生成する必要があり、インポートの再定義の使用を避けたいということです。