Weaken the associated_metaclass after cloning a method.
Dave Rolsky [Sun, 19 Feb 2012 18:51:48 +0000 (12:51 -0600)]
This doesn't seem to fix any leaks, but I'm pretty sure it's the right thing
to do, since we weaken this slot when creating a new method.

lib/Class/MOP/Method.pm

index cfc5241..fca4601 100644 (file)
@@ -127,6 +127,7 @@ sub clone {
     my $self = shift;
 
     my $clone = bless { %{$self}, @_ }, blessed($self);
+    weaken($clone->{associated_metaclass}) if $clone->{associated_metaclass};
 
     $clone->_set_original_method($self);