1package Moose::Exception::AttributeConflictInRoles; 2our $VERSION = '2.2201'; 3 4use Moose; 5extends 'Moose::Exception'; 6with 'Moose::Exception::Role::Role'; 7 8has 'second_role_name' => ( 9 is => 'ro', 10 isa => 'Str', 11 required => 1 12); 13 14has 'attribute_name' => ( 15 is => 'ro', 16 isa => 'Str', 17 required => 1 18); 19 20sub _build_message { 21 my $self = shift; 22 my $role_name = $self->role_name; 23 my $second_role_name = $self->second_role_name; 24 my $attribute_name = $self->attribute_name; 25 "Role '$role_name' has encountered an attribute conflict" 26 . " while being composed into '$second_role_name'." 27 . " This is a fatal error and cannot be disambiguated." 28 . " The conflicting attribute is named '$attribute_name'."; 29} 30 31__PACKAGE__->meta->make_immutable; 321; 33