correct errors / omissions in documenting DOES
Ricardo SIGNES [Mon, 19 May 2008 10:14:02 +0000 (06:14 -0400)]
Message-ID: <20080519141402.GA54401@knight.local>

p4raw-id: //depot/perl@33869

lib/UNIVERSAL.pm
pod/perlobj.pod

index 0d6fbe0..6c75665 100644 (file)
@@ -117,8 +117,9 @@ invocant performs the operations, merely that it does.  (C<isa> of course
 mandates an inheritance relationship.  Other relationships include aggregation,
 delegation, and mocking.)
 
-By default, classes in Perl only perform the C<UNIVERSAL> role.  To mark that
-your own classes perform other roles, override C<DOES> appropriately.
+By default, classes in Perl only perform the C<UNIVERSAL> role, as well as the
+role of all classes in their inheritance.  In other words, by default C<DOES>
+responds identically to C<isa>.
 
 There is a relationship between roles and classes, as each class implies the
 existence of a role of the same name.  There is also a relationship between
index b6638e8..b0592ff 100644 (file)
@@ -407,6 +407,13 @@ X<invocant> X<blessed>
 C<blessed> returns the name of the package the argument has been
 blessed into, or C<undef>.
 
+=item DOES(ROLE)
+
+C<DOES> returns I<true> if its object claims to perform the role C<ROLE>.
+
+By default, the response to C<DOES> is the same as the response to ISA.  For
+more information on C<DOES> and other universal methods, see L<UNIVERSAL>.
+
 =item can(METHOD)
 X<can>