On Fri Jul 31 13:09:04 2015, alex.jakime...@gmail.com wrote: > Code: > role A { }; > role B does A { }; > B.new.^roles.say; > > Result: > (B) > > As skids points out, the expected result should be "(A) (B)" or "(B::A) > (B)". >
We used to, by default, give the non-transitive view of the done roles. I've now changed the default to give the (more commonly expected) flattened view, so now the example gives: ((B) (A)) Discovered and fixed a bug in .^roles(:transitive) too, while changing the default. Tests covering this ticket, plus some new ones, in S12-introspection/roles.t. /jnthn