Предположим, что:
class B
class A extends B
trait T
Тогда оно выполняется:
val a: A with T = new A with T
a.isInstanceOf[B] // result is true !
Можно ли сказать, что метод isInstanceOf
проверяет, существует ли хотя бы один тип (не все типы), который соответствует правой стороне в отношении подтипа?
Сначала я думал, что значение с типом A with T
не может быть подтипом B
, потому что A
и T
не оба подтипа B
. Но это A
или T
является подтипом B
- это правильно?