Chris,

Thanks;  I'd looked through Moose::Manual (in particular
Moose::Manual::Attributes) and missed that documentation in Moose.pm
itself.

Diab


On Thu, Jul 24, 2014 at 1:35 PM, Chris Marshall <devel.chm...@gmail.com> wrote:
> The Moose 2.1201 pod seems to say it is defined behavior:
>
>  has +$name => %options
>            This is variation on the normal attribute creator "has" which
>            allows you to clone and extend an attribute from a superclass or
>            from a role. Here is an example of the superclass usage: ...
>
> Given that Moo is supposed to be Moose-compatible, the same
> seems likely true for Moo.
>
> --Chris
>
>
> On Tue, Jul 22, 2014 at 5:16 PM, Diab Jerius <djer...@cfa.harvard.edu> wrote:
>> 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

Reply via email to