次のコード:
abstract class Foo[T: ClassTag] {
def v(a: Any): Any = a match {
case _ if a.isInstanceOf[T] => Some(a)
case _ => None
}
}
コンパイルで次の結果が得られます。
Warning: abstract type T is unchecked since it is eliminated by erasure
case _ if a.isInstanceOf[T] =>
奇妙なことに、大文字と小文字の一致は意図したとおりに機能します。isInstanceOf[T] に ClassTag コンテキストのバインドも認識させる方法はありますか?