From: Jesse Luehrs Date: Thu, 23 Sep 2010 05:34:43 +0000 (-0500) Subject: don't pass %options through again here, metaclass compat will handle it X-Git-Tag: 1.09~19 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=20b0fc6fc5e739cc02e049b4468570a88e6453ed;p=gitmo%2FClass-MOP.git don't pass %options through again here, metaclass compat will handle it --- diff --git a/lib/metaclass.pm b/lib/metaclass.pm index 816efcb..b688f26 100644 --- a/lib/metaclass.pm +++ b/lib/metaclass.pm @@ -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;