One would expect an error message such as: $ 6 'role R[$a,$b] {}; class C does R[1] {}' ===SORRY!=== No appropriate parametric role variant available for ‘R'
but even that message is rather LTA, as it doesn’t mention which parameters were tried and which candidates are available. Liz ==================== > On 05 Sep 2015, at 12:38, dakkar (via RT) <perl6-bugs-follo...@perl.org> > wrote: > > # New Ticket Created by dakkar > # Please include the string: [perl #125996] > # in the subject line of all future correspondence about this issue. > # <URL: https://rt.perl.org/Ticket/Display.html?id=125996 > > > > This code:: > > role R[$a,$b] {} > role R2[$x] does R[1] {} > class C does R2[1] {} > > C.new; > > Produces the error message:: > > ===SORRY!=== > Cannot find method 'collisions' > > The error happens in ``RoleToClassApplier::apply``: something goes > wrong with the nested role specialisation, and the compiler tries to > apply a ``NQPMu``. > > -- > Dakkar - <Mobilis in mobile> > GPG public key fingerprint = A071 E618 DD2C 5901 9574 > 6FE2 40EA 9883 7519 3F88 > key id = 0x75193F88 > > Giving up on assembly language was the apple in our Garden of Eden: > Languages whose use squanders machine cycles are sinful. The LISP > machine now permits LISP programmers to abandon bra and fig-leaf. > -- Epigrams in Programming, ACM SIGPLAN Sept. 1982