-
package Moose::Role;
+use strict;
+use warnings;
use Scalar::Util 'blessed';
use Carp 'croak';
use Sub::Exporter;
-our $VERSION = '0.83';
+our $VERSION = '0.89_01';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
Moose::Exporter->setup_import_methods(
with_caller => [
- qw( with requires excludes has before after around override make_immutable )
+ qw( with requires excludes has before after around override )
],
as_is => [
qw( extends super inner augment ),
=head1 DESCRIPTION
-The concept of roles is documented in L<Moose::Manual::Role>. This document
+The concept of roles is documented in L<Moose::Manual::Roles>. This document
serves as API documentation.
=head1 EXPORTED FUNCTIONS
Roles can require that certain methods are implemented by any class which
C<does> the role.
+Note that attribute accessors also count as methods for the purposes
+of satisfying the requirements of a role.
+
=item B<excludes (@role_names)>
Roles can C<exclude> other roles, in effect saying "I can never be combined
This is very similar to the attribute traits feature. When you do
this, your class's C<meta> object will have the specified traits
-applied to it. See L<Moose/TRAIT NAME RESOLUTION> for more details.
+applied to it. See L<Moose/Metaclass and Trait Name Resolution> for more
+details.
=head1 CAVEATS