=begin pod :kind("Type") :subkind("class") :category("exception")

=TITLE class X::Mixin::NotComposable

=SUBTITLE Error due to using an ineligible type as a mixin

    class X::Mixin::NotComposable is Exception { }

Thrown when a mixin with infix C<does> or C<but> is done with a composer that
cannot be used for mixin.

For example

    class A { };
    1 but A;
    CATCH { default { put .^name, ': ', .Str } };
    # OUTPUT: «X::Mixin::NotComposable: Cannot mix in non-composable type A into object of type Int␤»

The compile-time equivalent of this error is L<X::Composition::NotComposable|/type/X::Composition::NotComposable>

=head1 Methods

=head2 method target

    method target()

Returns the target of the failed mixin operation.

=head2 method rolish

    method rolish()

Returns the thing that could not act as a role for mixing it in

=end pod
