# New Ticket Created by  Moritz Lenz 
# Please include the string:  [perl #110556]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=110556 >


10:00 < moritz> nom: (2/3) but True
10:00 <+p6eval> nom 6b1cba: OUTPUT«Can not get non-existent attribute
                 '$!numerator' on class '$?CLASS'␤  in block <anon> at
                 /tmp/7qizKFLfFP:1␤␤»
10:01 < moritz> what the merge changed was that the attributes are now 
declared in a role

...

10:07 < jnthn> Oh. Only happens with but.
10:09 < jnthn> nom: role A { has $!a }; class B does A { }; A.new.clone()
10:09 <+p6eval> nom 6b1cba: OUTPUT«Can not get non-existent attribute 
'$!a' on
                 class '$?CLASS'␤  in block <anon> at /tmp/pJMnk5Pq1B:1␤␤»
10:09 < jnthn> Bingo.

10:15 < moritz> nom: role A { has $.a }; class B does A { }; for 
B.^attributes
                 { say $_; pir::say pir::typeof__SP($_.package) }
10:15 <+p6eval> nom 6b1cba: OUTPUT«$!a␤$?CLASS␤»
10:15 < moritz> somehow the exception got eaten :(
10:15 < jnthn> It's a type variable.
10:15 < jnthn> And should complain loudly about being used

There's a failing test for that in t/spec/S14-roles/mixin.t

Reply via email to