FooWithSelfType
might know that it is a Bar
, but it's not actually part of FooWithSelfType
's inheritance hierarchy, so it doesn't have access to super
except for the super
that is explicitly part of its inheritance hierarchy. If you had
trait Baz extends SuperBaz { this : Bar =>
/* ... */
}
how would you know to what super
refers if both SuperBaz
and SuperBar
were possibilities?