X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FMOP%2FMethod%2FMeta.pm;fp=lib%2FClass%2FMOP%2FMethod%2FMeta.pm;h=bc50405fb0bf222547aa57a67ba806c6c70f2d53;hb=1d6e7aa370b0df7fb023692ca27aee21fa770280;hp=980afe749f6f42911715d35783a29e87ce09660b;hpb=8fada38ce9cfdffba60142dbf99b2a02707b2da2;p=gitmo%2FMoose.git diff --git a/lib/Class/MOP/Method/Meta.pm b/lib/Class/MOP/Method/Meta.pm index 980afe7..bc50405 100644 --- a/lib/Class/MOP/Method/Meta.pm +++ b/lib/Class/MOP/Method/Meta.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Carp 'confess'; -use Scalar::Util 'blessed'; +use Scalar::Util 'blessed', 'weaken'; use constant DEBUG_NO_META => $ENV{DEBUG_NO_META} ? 1 : 0; @@ -20,6 +20,8 @@ sub _is_caller_mop_internal { sub _generate_meta_method { my $method_self = shift; my $metaclass = shift; + weaken($metaclass); + sub { # this will be compiled out if the env var wasn't set if (DEBUG_NO_META) {