1

次のコード:

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 コンテキストのバインドも認識させる方法はありますか?

4

1 に答える 1