It was removed from Moose::Manual::Attributes reasonably because it's
discouraged. It needs to be documented somewhere, as confound says in the
reference not the guide.
Also updated the link in Recipe 8 to point to the reference.
(cherry picked from commit
970a92fa56f1ea409c8d7c5428392479292fd8d4)
both start with an underscore. The C<builder> method I<always> starts
with an underscore.
-You can read more about C<lazy_build> in L<Moose::Manual::Attributes>
+You can read more about C<lazy_build> in L<Moose::Meta::Attribute>
=head1 CONCLUSION
predicate => 'has_size',
);
+
+If your attribute name starts with an underscore (C<_>), then the clearer
+and predicate will as well:
+
+ has '_size' => (
+ is => 'ro',
+ lazy_build => 1,
+ );
+
+becomes:
+
+ has '_size' => (
+ is => 'ro',
+ lazy => 1,
+ builder => '_build__size',
+ clearer => '_clear_size',
+ predicate => '_has_size',
+ );
+
+Note the doubled underscore in the builder name. Internally, Moose
+simply prepends the attribute name with "_build_" to come up with the
+builder name.
+
=item * documentation
An arbitrary string that can be retrieved later by calling C<<