[Moose-commits] r7816 - Mouse/trunk/lib/Mouse/Meta
lestrrat at code2.0beta.co.uk
lestrrat at code2.0beta.co.uk
Wed Mar 4 01:43:50 GMT 2009
Author: lestrrat
Date: 2009-03-03 17:43:49 -0800 (Tue, 03 Mar 2009)
New Revision: 7816
Modified:
Mouse/trunk/lib/Mouse/Meta/Attribute.pm
Log:
reverting change: the correct answer is,
- when an attribute contains a trigger which may run upon
initialization, you need to make sure that the associated
trigger doesn't use another attribute, OR
- that attribute that gets used is declared with a "lazy"
attribute, so that the accessor generates an inlined
initialization code
Modified: Mouse/trunk/lib/Mouse/Meta/Attribute.pm
===================================================================
--- Mouse/trunk/lib/Mouse/Meta/Attribute.pm 2009-03-03 16:31:20 UTC (rev 7815)
+++ Mouse/trunk/lib/Mouse/Meta/Attribute.pm 2009-03-04 01:43:49 UTC (rev 7816)
@@ -114,13 +114,7 @@
$accessor .= 'confess "Cannot assign a value to a read-only accessor" if scalar(@_) >= 2;' . "\n";
}
- # XXX - edit by lestrrat 20090304:
- # I couldn't quite tell why this happened, but I encountered a case
- # where the default value was not set. In introspecting the resulting
- # $accessor string, I realized that there was no default handling code.
- # which led me to adding "|| $attribute->has_default" below.
- # Tests passed, so I hope everything will be ok
- if ($attribute->is_lazy || $attribute->has_default) {
+ if ($attribute->is_lazy) {
$accessor .= $self.'->{'.$key.'} = ';
$accessor .= $attribute->has_builder
More information about the Moose-commits
mailing list