I'm using Moo and would like to override a default value for a
composed attribute after composing the role.
This works (with Moose as well):
use Moo;
package R {
use Moo::Role;
has a => ( is => 'ro', default => 2 );
}
package P {
use Moo;
with 'R';
has '+a' => ( default => 3 );
}
say P->new->a;
AFAIK, the Moo (and Moose) documentation only mentions this syntax
when extending classes, not when composing roles.
Is this behavior simply a side effect of implementation, or is it
considered defined behavior?
Thanks,
Diab