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