Add a comment as per the traits case
Tomas Doran [Sun, 16 Nov 2008 17:56:58 +0000 (17:56 +0000)]
lib/Moose/Exporter.pm

index 5e66910..b525ea3 100644 (file)
@@ -246,6 +246,9 @@ sub _make_import_sub {
 
         my $did_init_meta;
         for my $c ( grep { $_->can('init_meta') } $class, @{$exports_from} ) {
+            # init_meta can apply a role, which when loaded uses
+            # Moose::Exporter, which in turn sets $CALLER, so we need
+            # to protect against that.
             local $CALLER = $CALLER;
             $c->init_meta( for_class => $CALLER );
             $did_init_meta = 1;