Documentation for method why assembled from the following pages:

Class: X::Attribute::Required §

From X::Attribute::Required

(X::Attribute::Required) method why §

method why(--> Str:D)

Returns the reason why that attribute is required, and it will be included in the message if provided. That reason is taken directly from the is required trait.

my class Uses-required {
    has $.req is required("because yes")
};
my $object = Uses-required.new();                                  │
# OUTPUT:
# «(exit code 1) The attribute '$!req' is required because because yes,␤
# but you did not provide a value for it.␤»