The error exception:
Role 'XXX|YYY|ZZZ' has encountered a class attribute conflict during
composition. This is a fatal error and cannot be disambiguated.
is not very helpful. Which attribute had the conflict? Which two of XXX, YYY,
and ZZZ did the conflict come from? (I suspect that it must be merging ZZZ
into the previously merged XXX|YYY when it generates this exception, so ZZZ is
one of the contributors to the conflict. I'd also change the second sentence
to "Role composition can never automatically determine a safe way to
disambiguate conflicts - the calling code must handle this explicitly." (That
is more explicit about the need for the calling code to handle disambiguation
in all cases [the original can be read to imply that automatic disambiguation
might be possible for some other cases), while removing the rather obvious
"thias is a fatal error" in the text of a thrown exception.)
This comes from:
MooseX::ClassAttribute::Trait::Role::Composite::_merge_class_attributes
John Macdonald
Software Engineer
Ontario Institute for Cancer Research
MaRS Centre
661 University Avenue
Suite 510
Toronto, Ontario
Canada M5G 0A3
Tel:
Email: [email protected]
Toll-free: 1-866-678-6427
Twitter: @OICR_news
www.oicr.on.ca<http://www.oicr.on.ca/>
This message and any attachments may contain confidential and/or privileged
information for the sole use of the intended recipient. Any review or
distribution by anyone other than the person for whom it was originally
intended is strictly prohibited. If you have received this message in error,
please contact the sender and delete all copies. Opinions, conclusions or other
information contained in this message may not be that of the organization.