less than awesome error message, undocumented "feature"
[email protected] (John Macdonald) Thu, 21 Aug 2014 18:43:52 +0000
| Newsgroups | perl.moose |
|---|---|
| Message-ID | <[email protected]> |
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.