When generating inlining code, distinguish between $default from calling $attr->defau...
Dave Rolsky [Sun, 5 Jun 2011 21:40:21 +0000 (16:40 -0500)]
lib/Moose/Meta/Attribute.pm
lib/Moose/Meta/Method/Accessor.pm

index b0160bc..3b138fa 100644 (file)
@@ -859,7 +859,7 @@ sub _inline_generate_default {
     my ($instance, $default) = @_;
 
     if ($self->has_default) {
-        my $source = 'my ' . $default . ' = $default';
+        my $source = 'my ' . $default . ' = $attr_default';
         $source .= '->(' . $instance . ')'
             if $self->is_default_a_coderef;
         return $source . ';';
index 93148d0..e5da1f6 100644 (file)
@@ -50,7 +50,7 @@ sub _eval_environment {
 
     $env->{'$trigger'} = \($attr->trigger)
         if $attr->has_trigger;
-    $env->{'$default'} = \($attr->default)
+    $env->{'$attr_default'} = \($attr->default)
         if $attr->has_default;
 
     if ($attr->has_type_constraint) {