Предположим, что у нас есть:
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
--это правильно ?