Remove alias_method (it's been deprecated since 0.73_01)
[gitmo/Moose.git] / lib / Moose / Exporter.pm
index 8ed1de3..9a74e19 100644 (file)
@@ -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<unimport> is called.
 
 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(...) >>