moose-role-conflict.txt
#=============
package RoleA;
use Moose::Role;
has a => ();
sub name { __PACKAGE__ };
#=============
package RoleB;
use Moose::Role;
has a => ();
sub name { __PACKAGE__ };
#=============
package Class;
use Moose;
with qw/RoleA RoleB/;
# ^ will result in:
# We have encountered an attribute conflict with 'a' during composition
sub name { __PACKAGE__ };
#============
package main;
my $obj = Class->new;
print $obj->name;