weaken for Mouse::Util which will load up Scalar::Util
Shawn M Moore [Sun, 28 Sep 2008 04:01:05 +0000 (04:01 +0000)]
lib/Mouse/Meta/Attribute.pm
lib/Mouse/Object.pm
lib/Mouse/Util.pm

index 959f712..1588641 100644 (file)
@@ -4,8 +4,7 @@ use strict;
 use warnings;
 
 use Carp 'confess';
-use Mouse::Util 'blessed';
-use Scalar::Util 'weaken';
+use Mouse::Util qw/blessed weaken/;
 
 sub new {
     my $class = shift;
@@ -79,7 +78,7 @@ sub generate_accessor {
         $accessor .= '$self->{$key} = $_;';
 
         if ($attribute->is_weak_ref) {
-            $accessor .= 'Scalar::Util::weaken($self->{$key}) if ref($self->{$key});';
+            $accessor .= 'weaken($self->{$key}) if ref($self->{$key});';
         }
 
         if ($trigger) {
index 623fa64..8c36df3 100644 (file)
@@ -3,7 +3,7 @@ package Mouse::Object;
 use strict;
 use warnings;
 
-use Scalar::Util qw/weaken/;
+use Mouse::Util qw/weaken/;
 use Carp 'confess';
 
 sub new {
index 51aa3f9..aeaaf3f 100644 (file)
@@ -145,5 +145,11 @@ for my $module_name (keys %dependencies) {
     }
 }
 
+push @EXPORT_OK, qw(weaken);
+sub weaken {
+    require Scalar::Util;
+    goto \&Scalar::Util::weaken;
+}
+
 1;