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);
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);
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},
You can also provide parameters for C<Moose::Util::MetaRole::apply_metaroles>
and C<Moose::Util::MetaRole::base_class_roles>. 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(...) >>