pp_hot.c:1167: void S_aassign_copy_common(SV **, SV **, SV **, SV **, _Bool): Assertion `!(((svl)->sv_flags & (0x08000000|0x00010000)) && ((svl)==&PL_sv_undef || (svl)==&PL_sv_yes || (svl)==&PL_sv_no #15690
Triggered in v5.25.7 (v5.25.6-134-g11327fa).
perl -e '($0,$_,$0)=(/()()/,0)for 0gt 0'
perl: pp_hot.c:1167: void S_aassign_copy_common(SV **, SV **, SV **, SV **,
On Mon, 31 Oct 2016 22:26:45 -0700, firstname.lastname@example.org wrote:
perl -e '($_,$0)=(1,0)for 0gt 0'
I'm not sure that particular assertion is needed.
On Mon, Nov 07, 2016 at 09:09:27PM -0800, Tony Cook via RT wrote:
It was there to see if I could get away with only having to check for
While looking at that, I noticed that RO immortals on the LHS are silently
$ ./perl -e'$_ = 1 for 0 ge 0'
I wonder whether this is deliberate / correct. The 5.000 src does indeed
if (sv != &sv_undef && sv != &sv_yes && sv != &sv_no)
So perhaps I should let sleeping dogs lie.
Thank you for filing this report. You have helped make Perl better.
With the release today of Perl 5.26.0, this and 210 other issues have been
Perl 5.26.0 may be downloaded via:
If you find that the problem persists, feel free to reopen this ticket.