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

=TITLE class X::Role::Initialization

=SUBTITLE Error due to passing an initialization value to an ineligible role

    class X::Role::Initialization is Exception { }

Thrown when the C<SomeRole($init)> syntax is used, but SomeRole does not have
exactly one public attribute.

For example:

=begin code :skip-test<X::Role::Initialization>
role R { }; "D2" but R(2)
CATCH { default { put .^name, ': ', .Str } }
# OUTPUT: «X::Role::Initialization: Can only supply an initialization value for a role if it has a single public attribute, but this is not the case for 'R'␤»
=end code

=head1 Methods

=head2 method role

    method role()

Returns the role that caused the error.

=end pod
