MXSC must be used by Moose classes, nothing else
[gitmo/MooseX-StrictConstructor.git] / lib / MooseX / StrictConstructor.pm
index 40fa4bb..80e8453 100644 (file)
@@ -20,6 +20,16 @@ use Moose::Util::MetaRole;
     Moose::Exporter->setup_import_methods(
         class_metaroles => \%class_meta,
     );
+
+    my $old_import = __PACKAGE__->can('import');
+    no warnings 'redefine';
+    *import = sub {
+      my $caller = caller;
+      Carp::croak "$_[0] can only be applied to Moose classes"
+        unless eval { $caller->meta->isa('Moose::Meta::Class') };
+
+      goto &$old_import;
+    };
 }
 
 1;