仮定します:
class B
class A extends B
trait T
それからそれは成り立つ:
val a: A with T = new A with T
a.isInstanceOf[B] // result is true !
isInstanceOf
サブタイプの関係で右側に一致するタイプ(すべてのタイプではない)が少なくとも1つあるかどうかを、メソッドがチェックすると言うのは正しいですか?
一見したところ、タイプの値はA with T
のサブタイプにはなり得ないと思いました。B
なぜならA
、と T
は両方のサブタイプではないからですB
。しかし、それは-のサブタイプであるか、A
または T
サブタイプですB
-そうですか?