I can extend the inner class / attribute inside the outer class or inside the class derived from the outer class. I can extend the inner class of a specific instance of the outer class, as in:
class Outer { class Inner{} } class OtherCl(val outer1: Outer) { class InnA extends outer1.Inner{} }
Note: even this looks like a compilation, creating very interesting features:
trait OuterA { trait InnerA } trait OuterB { trait InnerB } class class2(val outerA1: OuterA, val outerB1: OuterB) { class Inner2 extends outerA1.InnerA with outerB1.InnerB }
But this does not compile:
class OtherCl extends Outer#Inner
As far as I can see, I'm trying to extend a parameterized class where the type parameter is an instance of an external class, so something similar to an action
class OtherCl[T where T is instance of Outer] extends T.Inner
Anyway, in order to expand the inner class / trait that is inside the outer trait / class without reference to the outer trait / class?
I am not trying to create an instance of a derived inner class without an instance of an outer class declaring only its type.
source share