use Moose::Util 'english_list';
use Scalar::Util 'weaken', 'blessed';
-our $VERSION = '0.79';
+our $VERSION = '0.84';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
my $error = '';
- my @conflicts = grep { $_->is_conflict } @missing;
+ my @conflicts = grep { $_->isa('Moose::Meta::Role::Method::Conflicting') } @missing;
if (@conflicts) {
my $conflict = $conflicts[0];
+ my $roles = Moose::Util::english_list( map { q{'} . $_ . q{'} } @{ $conflict->roles } );
$error
- .= q{'}
- . $role->name
- . "' requires the method '"
+ .= "Due to a method name conflict in roles "
+ . $roles
+ . ", the method '"
. $conflict->name
- . "' to be implemented by '"
+ . "' must be implemented or excluded by '"
. $class->name
- . "' due to a method conflict"
+ . q{'};
}
elsif (@missing) {
my $noun = @missing == 1 ? 'method' : 'methods';