blah
Yuval Kogman [Sun, 10 Aug 2008 21:43:01 +0000 (21:43 +0000)]
lib/Class/MOP/Package.pm

index a712143..9324418 100644 (file)
@@ -243,11 +243,11 @@ sub get_all_package_symbols {
 
     # for some reason this nasty impl is orders of magnitude aster than a clean version
     if ( $type_filter eq 'CODE' ) {
-        my $pkg = $self->name;
+        my $pkg;
         no strict 'refs';
         return map {
             (ref($namespace->{$_})
-                 ? ( $_ => \&{"${pkg}::$_"} )
+                 ? ( $_ => \&{$pkg ||= $self->name . "::$_"} )
                  : ( *{$namespace->{$_}}{CODE}
                     ? ( $_ => *{$namespace->{$_}}{$type_filter} )
                     : ()))