if($spec->{INIT_META}){
my $meta;
foreach my $init_meta(@{$spec->{INIT_META}}){
- $meta = $into->$init_meta(for_class => $into);
+ $meta = $package->$init_meta(for_class => $into);
}
if(@traits){
} @traits;
require Mouse::Util::MetaRole;
- Mouse::Util::MetaRole::apply_metaclass_roles(
- for_class => $into,
- metaclass_roles => \@traits,
+ Mouse::Util::MetaRole::apply_metaroles(
+ for => $into,
+ Mouse::Util::is_a_metarole($into->meta)
+ ? (role_metaroles => { role => \@traits })
+ : (class_metaroles => { class => \@traits }),
);
}
}
};
for my $keyword (@{ $spec->{REMOVABLES} }) {
+ next if !exists $stash->{$keyword};
my $gv = \$stash->{$keyword};
if(ref($gv) eq 'GLOB' && *{$gv}{CODE} == $spec->{EXPORTS}{$keyword}){ # make sure it is from us
delete $stash->{$keyword};
=head1 VERSION
-This document describes Mouse version 0.44
+This document describes Mouse version 0.49
=head1 SYNOPSIS