Автотип для признака A
:
trait B
trait A { this: B => }
говорит, что "A
не может быть смешано с конкретным классом, который также не распространяется на B
".
С другой стороны, следующее:
trait B
trait A extends B
говорит, что "любое (конкретное или абстрактное) смешивание классов в A
также будет смешиваться в B".
Разве эти два утверждения не означают одно и то же? Кажется, что тип self-type служит только для создания возможности простой ошибки времени компиляции.
Что мне не хватает?