=begin pod

=TITLE class X::Inheritance::NotComposed

=SUBTITLE Error due to inheriting from a type that's not composed yet

    class X::Inheritance::NotComposed is Exception { ... }

When you try to inherit from a class that hasn't been
L<composed|/language/mop#Composition time and static reasoning>, an
exception of type X::Inheritance::NotComposed is thrown.

Usually this happens because it's not yet fully parsed, or that is stubbed:

=begin code
class A { ... };    # literal ... for stubbing
class B is A { };   # dies with
                    # 'B' cannot inherit from 'A' because 'A' 
                    # isn't compose yet (maybe it is stubbed)
=end code

The second common way to trigger this error is by trying to inherit from a
class from within the class body.

=begin code
class Outer {
    class Inner is Outer {  # dies with
    }                       # 'Inner' cannot inherit from 'Outer' because
}                           # 'Outer' isn't compose yet (maybe it is
                            # stubbed)
=end code

=head1 Methods

=head2 method child-name

    method child-name(X::Inheritance::NotComposed:D:) returns Str:D

Returns the name of the type that tries to inherit.

=head2 method parent-name

    method parent-name(X::Inheritance::NotComposed:D:) returns Str:D

Returns the name of the parent type that the type tries to inherit from

=end pod
