correct the documentation for required
Chris Prather [Mon, 25 May 2009 16:50:05 +0000 (12:50 -0400)]
lib/Moose.pm
lib/Moose/Manual/Attributes.pod

index e64915f..3c24df2 100644 (file)
@@ -437,9 +437,11 @@ is expected to have consumed.
 
 =item I<required =E<gt> (1|0)>
 
-This marks the attribute as being required. This means a I<defined> value must be
-supplied during class construction, and the attribute may never be set to
-C<undef> with an accessor.
+This marks the attribute as being required. This means a value must be
+supplied during class construction or be lazy with either a default or a
+builder. Note that c<required> does not say anything about the attribute's
+value, so it could be C<undef>.
+
 
 =item I<weak_ref =E<gt> (1|0)>
 
index 4ee76e5..174c624 100644 (file)
@@ -160,9 +160,9 @@ required, simply set the C<required> option to true:
 There are a couple caveats worth mentioning in regards to what
 "required" actually means.
 
-Basically, all it says is that this attribute (C<name>) must be provided
-to the constructor. It does not say anything about its value, so it
-could be C<undef>.
+Basically, all it says is that this attribute (C<name>) must be provided to
+the constructor, or be lazy with either a default or a builder. It does not
+say anything about its value, so it could be C<undef>.
 
 If you define a clearer method on a required attribute, the clearer
 I<will> work, so even a required attribute can be unset after object