$^H |= _strict_bits; # strict->import;
${^WARNING_BITS} = $warnings::Bits{all}; # warnings->import;
- if($into eq 'main' && !$spec->{_export_to_main}){
- warn qq{$package does not export its sugar to the 'main' package.\n};
- return;
- }
-
if($spec->{INIT_META}){
+ my $meta;
foreach my $init_meta(@{$spec->{INIT_META}}){
- $into->$init_meta(for_class => $into);
+ $meta = $into->$init_meta(for_class => $into);
}
- # _apply_meta_traits($into); # TODO
+ if(@traits){
+ my $type = (split /::/, ref $meta)[-1]; # e.g. "Class" for "My::Meta::Class"
+ @traits =
+ map{ ref($_) ? $_ : Mouse::Util::resolve_metaclass_alias($type => $_, trait => 1) }
+ @traits;
+
+ print "[@traits]\n";
+
+ not_supported('-traits');
+ require Mouse::Util::MetaRole;
+ Mouse::Util::MetaRole::apply_metaclass_roles(
+ for_class => $into,
+ metaclass_roles => \@traits,
+ );
+ }
}
if(@exports){