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;