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


Here's an IRC snippet showing the problem:

<BenGoldberg> m: await start { my $a = "strange"; $a does role Test { }; } xx 16
<+camelia> rakudo-moar 9936a3: OUTPUT: «Tried to get the result of a broken 
Promise␤  in block <unit> at <tmp> line 1␤␤Original exception:␤    Incompatible 
MROs in P6opaque rebless for types Str+{Test} and Str+{Test}␤      in block  at 
<tmp> line 1␤␤»

Using a Lock solves the problem, but there ought to be a better solution.

<BenGoldberg> m: my $l = Lock.new; await start { my $a = "dubba"; role Test { 
}; $l.protect: { $a does Test }; } xx 16
<+camelia> rakudo-moar 9936a3: ( no output )

Reply via email to