Improve the error message of having a plain reference in 'default'
Shawn M Moore [Sun, 18 May 2008 21:49:35 +0000 (21:49 +0000)]
lib/Class/MOP.pm
lib/Class/MOP/Attribute.pm

index 47a65f1..adb2f9d 100644 (file)
@@ -426,7 +426,7 @@ Class::MOP::Attribute->meta->add_method('new' => sub {
     } else {
         (Class::MOP::Attribute::is_default_a_coderef(\%options))
             || confess("References are not allowed as default values, you must ".
-                       "wrap then in a CODE reference (ex: sub { [] } and not [])")
+                       "wrap the default of '$name' in a CODE reference (ex: sub { [] } and not [])")
                 if exists $options{default} && ref $options{default};
     }
     # return the new object
index c3d760b..02cfae9 100644 (file)
@@ -41,7 +41,7 @@ sub new {
     } else {
         (is_default_a_coderef(\%options))
             || confess("References are not allowed as default values, you must ".
-                       "wrap then in a CODE reference (ex: sub { [] } and not [])")
+                       "wrap the default of '$name' in a CODE reference (ex: sub { [] } and not [])")
                 if exists $options{default} && ref $options{default};
     }
     if( $options{required} and not( defined($options{builder}) || defined($options{init_arg}) || exists $options{default} ) ) {