X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FExporter.pm;h=9a74e19c8b5832cfa376fdaea824043bfcdae7c3;hb=49c4d7468795378b66df85894e8e2bf8e27ca02c;hp=8ed1de3cba4e7d13215c9e6072dc189128145faa;hpb=aee0741bbed3076af07a989bd8fb2362cc1d4711;p=gitmo%2FMoose.git diff --git a/lib/Moose/Exporter.pm b/lib/Moose/Exporter.pm index 8ed1de3..9a74e19 100644 --- a/lib/Moose/Exporter.pm +++ b/lib/Moose/Exporter.pm @@ -10,6 +10,7 @@ our $AUTHORITY = 'cpan:STEVAN'; use Class::MOP; use List::MoreUtils qw( first_index uniq ); +use Moose::Deprecated; use Moose::Util::MetaRole; use Sub::Exporter 0.980; use Sub::Name qw(subname); @@ -36,6 +37,14 @@ sub build_import_methods { my $exporting_package = $args{exporting_package} ||= caller(); + if ( $args{with_caller} ) { + Moose::Deprecated::deprecated( + feature => 'Moose::Exporter with_caller', + message => + 'The with_caller argument for Moose::Exporter has been deprecated' + ); + } + $EXPORT_SPEC{$exporting_package} = \%args; my @exports_from = $class->_follow_also($exporting_package); @@ -545,11 +554,13 @@ sub _make_init_meta { return unless Class::MOP::class_of( $options{for_class} ); - Moose::Util::MetaRole::apply_metaroles( - for => $options{for_class}, - %new_style_roles, - %old_style_roles, - ); + if ( %new_style_roles || %old_style_roles ) { + Moose::Util::MetaRole::apply_metaroles( + for => $options{for_class}, + %new_style_roles, + %old_style_roles, + ); + } Moose::Util::MetaRole::apply_base_class_roles( for_class => $options{for_class}, @@ -691,7 +702,7 @@ when C is called. You can also provide parameters for C and C. Specifically, valid parameters -are "class_metaroles", "role_metaroles", and "base_object_roles". +are "class_metaroles", "role_metaroles", and "base_class_roles". =item B<< Moose::Exporter->build_import_methods(...) >>