クラス A が特性 B を拡張しているかどうかを確認するために、2 つのクラス マニフェスト (暗黙的に取得) を比較したいと考えています。以下のコードは、クラスがインターフェイスを拡張するかどうかを確認する場合に true を返す必要があります。
trait X[T,S]
class Y extends X[Double,Int]
val mX = implicitly[ClassManifest[X[Double,Int]]]
val mY = implicitly[ClassManifest[Y]]
println(mX <:< mY)
println(mY <:< mX)
println(mX,mY)
ただし、ターミナルから次の出力が得られます。
felix@felix-UX32VD:~/Desktop$ scala Test.scala
false
false
(Main$$anon$1@7ad0e999.type#Main$$anon$1$X[Double, Int],Main$$anon$1@7ad0e999.type#Main$$anon$1$Y)
誰かがこの動作を説明できますか?