Zoffix++ lead to the discovery of a similar bug which can be golfed to:

00:16 < llfourn> m: my $*A = 42; do { start { $*A++ } }; sleep 2; say $*A
00:16 <+camelia> rakudo-moar fbe0a6: OUTPUT«42␤»

if you put the block outside the start {} you don't get an error but you
don't get the side affects.

On Sun, Dec 27, 2015 at 7:06 AM Elizabeth Mattijsen via RT <
perl6-bugs-follo...@perl.org> wrote:

>
> > On 26 Dec 2015, at 13:12, Lloyd Fournier (via RT) <
> perl6-bugs-follo...@perl.org> wrote:
> >
> > # New Ticket Created by  Lloyd Fournier
> > # Please include the string:  [perl #127033]
> > # in the subject line of all future correspondence about this issue.
> > # <URL: https://rt.perl.org/Ticket/Display.html?id=127033 >
> >
> >
> > perl6 -e 'sub t { say $*d }; my $*d = 1; await  do { start { t() } }'
> > #!>Dynamic variable $*d not found
> > Tested on mac and deb.
>
> Confirmed.
>
>
> But is there a reason you want to use the do { } block?  Without it, it
> just works!
>
> $ 6 'sub t { say $*d }; my $*d = 1; await start { t() }’
> 1
>
> Looks like any extra scope breaks it:
>
> $ 6 'sub t { say $*d }; my $*d = 1; await do for 1 { start { t() } }'
> Dynamic variable $*d not found
>
> $ 6 'sub t { say $*d }; my $*d = 1; await 1.map: { start { t() } }'
> Dynamic variable $*d not found
>
>
>
> Liz
>
>

Reply via email to