X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoo%2FHandleMoose.pm;h=3bcb725bb3f17d37112007200ada6082acb6933e;hb=5d20f26c05ae145f3f3cfa6b2d8486e5b2f70f29;hp=8b19839cd92f2362ce25faeb6e5a3a5564260818;hpb=f1bad247e7bea8015d4d57f66c7e033b52d513a4;p=gitmo%2FMoo.git diff --git a/lib/Moo/HandleMoose.pm b/lib/Moo/HandleMoose.pm index 8b19839..3bcb725 100644 --- a/lib/Moo/HandleMoose.pm +++ b/lib/Moo/HandleMoose.pm @@ -65,11 +65,14 @@ sub inject_real_metaclass_for { { @attr_info }, [ @attr_info[grep !($_ % 2), 0..$#attr_info] ] ) - } else { - my $specs = Moo->_constructor_maker_for($name)->all_attribute_specs; + } elsif ( my $cmaker = Moo->_constructor_maker_for($name) ) { + my $specs = $cmaker->all_attribute_specs; (0, Moose::Meta::Class->initialize($name), $specs, [ sort { $specs->{$a}{index} <=> $specs->{$b}{index} } keys %$specs ] ); + } else { + # This codepath is used if $name does not exist in $Moo::MAKERS + (0, Moose::Meta::Class->initialize($name), {}, [] ) } };