# New Ticket Created by "Carl Mäsak" # Please include the string: [perl #101426] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=101426 >
<masak> nom: role R[::T = role Q[::S = role { method baz { say "OH HAI" } }] { method bar { S.baz } }] { method foo { T.bar } }; R.new.foo <p6eval> nom d59f09: OUTPUT«===SORRY!===Can only use get_who on a SixModelObject» <masak> b: role R[::T = role Q[::S = role { method baz { say "OH HAI" } }] { method bar { S.baz } }] { method foo { T.bar } }; R.new.foo <p6eval> b 1b7dd1: OUTPUT«OH HAI» <jnthn> oh wow <jnthn> It explodes in the weirdest place <jnthn> Well, more silliest than anything. <jnthn> masak: Guess you wanna know what's going on. Well, we encounter the package. We then go and start parsing its signature. At that point a $*PACKAGE is introduced, but nothing is bound to it yet. When declaring Q, which should be installed in it, the package is thus missing. <jnthn> And it's nasty to fix because we tend to like to have seen the traits before we go and create the type object (which the package hangs off). <jnthn> Because we want to know what the repr will be. <jnthn> I guess really though Q should not be declared inside R <jnthn> (e.g. it's not R::Q) <jnthn> As we're in the signature. <jnthn> Not in the body. <masak> right. <jnthn> spectesting a fix <masak> \o/ * masak submits rakudobug