class X::Inheritance::NotComposed
class X::Inheritance::NotComposed is Exception {}
When you try to inherit from a class that hasn't been composed, an exception of type X::Inheritance::NotComposed is thrown.
Usually this happens because it's not yet fully parsed, or that is stubbed:
For example
class A { ... }; # literal ... for stubbing
class B is A { };
dies with
===SORRY!===
'B' cannot inherit from 'A' because 'A' isn't composed yet (maybe it is stubbed)
The second common way to trigger this error is by trying to inherit from a class from within the class body.
For example
class Outer {
class Inner is Outer {
}
}
dies with
===SORRY!===
'Outer::Inner' cannot inherit from 'Outer' because 'Outer' isn't composed yet (maybe it is stubbed)
Methods
method child-name
method child-name(X::Inheritance::NotComposed:D: --> Str:D)
Returns the name of the type that tries to inherit.
method parent-name
method parent-name(X::Inheritance::NotComposed:D: --> Str:D)
Returns the name of the parent type that the type tries to inherit from