Skip Menu |
Report information
Id: 130576
Status: resolved
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: coke <will [at] coleda.com>
Cc:
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: (no value)



Subject: [CONC] .race & .hyper break [+] (1..100)
Date: Tue, 17 Jan 2017 13:10:02 -0500
To: rakudobug [...] perl.org
From: Will Coleda <will [...] coleda.com>
Download (untitled) / with headers
text/plain 522b
The presence of a hyper or race causes incorrect output in some cases. Originally found with the .grep in the pipeline, but seems to impact even the simple case. $ perl6 -e 'say [+] (1..100)' 5050 $ perl6 -e 'say [+] (1..100).race' 0 $ perl6 -e 'say [+] (1..100).grep(* != 22)' 5028 $ perl6 -e 'say [+] (1..100).race.grep(* != 22)' 0 $ perl6 -e 'say [+] (1..100).hyper.grep(* != 22)' 0 $ perl6 -e 'say [+] (1..100).grep(* != 22).race' 0 $ perl6 -e 'say [+] (1..100).grep(* != 22).hyper' 0 -- Will "Coke" Coleda
Download (untitled) / with headers
text/plain 240b
.elems also seems to always return 0: 18:11 brokenchicken m: ^100 .race.elems.say 18:11 camelia rakudo-moar 7d5bbe: OUTPUT«0␤» 18:11 brokenchicken m: ^100 .race(:batch).elems.say 18:11 camelia rakudo-moar 7d5bbe: OUTPUT«0␤»
Download (untitled) / with headers
text/plain 178b
Looks like the same issue as #127452: [CONC] hyper is very broken, *sometimes* it returns nothing #126597: .race.grep(...) and .hyper.grep(...) produce an empty sequence
RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 695b
On Tue, 17 Jan 2017 10:10:44 -0800, coke wrote: Show quoted text
> The presence of a hyper or race causes incorrect output in some cases. > Originally found with the .grep in the pipeline, but seems to impact > even the simple case. > > $ perl6 -e 'say [+] (1..100)' > 5050 > > $ perl6 -e 'say [+] (1..100).race' > 0 > > $ perl6 -e 'say [+] (1..100).grep(* != 22)' > 5028 > > $ perl6 -e 'say [+] (1..100).race.grep(* != 22)' > 0 > > $ perl6 -e 'say [+] (1..100).hyper.grep(* != 22)' > 0 > > $ perl6 -e 'say [+] (1..100).grep(* != 22).race' > 0 > > $ perl6 -e 'say [+] (1..100).grep(* != 22).hyper' > 0 >
Fixed in new hyper/race implementation; tests in S07-hyperrace/hyper.t and S07-hyperrace/race.t.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org