Moose compat: no longer an error to have a trigger on a readonly attribute
Shawn M Moore [Tue, 10 Jun 2008 03:10:27 +0000 (03:10 +0000)]
lib/Mouse/Attribute.pm
t/016-trigger.t

index de19f3c..c086b40 100644 (file)
@@ -143,9 +143,6 @@ sub create {
     confess "You cannot have lazy attribute ($name) without specifying a default value for it"
         if $args{lazy} && !exists($args{default}) && !exists($args{builder});
 
-    confess "Trigger is not allowed on read-only attribute '$name'"
-        if $args{trigger} && $args{is} ne 'rw';
-
     confess "References are not allowed as default values, you must wrap the default of '$name' in a CODE reference (ex: sub { [] } and not [])"
         if ref($args{default})
         && ref($args{default}) ne 'CODE';
index 9ce32b8..d316599 100644 (file)
@@ -19,12 +19,12 @@ do {
         },
     );
 
-    ::throws_ok {
+    ::lives_ok {
         has error => (
             is => 'ro',
             trigger => sub { },
         );
-    } qr/Trigger is not allowed on read-only attribute 'error'/;
+    } "it's no longer an error to have trigger on a readonly attribute";
 };
 
 can_ok(Class => 'attr');