don't pass %options through again here, metaclass compat will handle it
Jesse Luehrs [Thu, 23 Sep 2010 05:34:43 +0000 (00:34 -0500)]
lib/metaclass.pm

index 816efcb..b688f26 100644 (file)
@@ -20,6 +20,7 @@ sub import {
     unshift @args, "metaclass" if @args % 2 == 1;
     my %options = @args;
 
+    my $should_install_meta = !delete $options{no_meta};
     my $metaclass = delete $options{metaclass};
 
     unless ( defined $metaclass ) {
@@ -42,7 +43,6 @@ sub import {
 
     # create a meta object so we can install &meta
     my $meta = $metaclass->initialize($package => %options);
-    my $should_install = !delete $options{no_meta};
     $meta->add_method('meta' => sub {
         # we must re-initialize so that it
         # works as expected in subclasses,
@@ -57,8 +57,8 @@ sub import {
             confess "'meta' method called by MOP internals"
                 if caller =~ /Class::MOP|metaclass/;
         }
-        $metaclass->initialize((blessed($_[0]) || $_[0]) => %options)
-    }) if $should_install;
+        $metaclass->initialize((blessed($_[0]) || $_[0]))
+    }) if $should_install_meta;
 }
 
 1;