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