Branch: refs/heads/davem/gh22710
  Home:   https://github.com/Perl/perl5
  Commit: 38b8018b12e868fb6294fcf2af4d12614741e9fe
      
https://github.com/Perl/perl5/commit/38b8018b12e868fb6294fcf2af4d12614741e9fe
  Author: David Mitchell <da...@iabyn.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M pp.c
    M t/op/lvref.t

  Log Message:
  -----------
  fix refassign in non-void context

GH #22710

The experimental refassign feature, \@a = $aref, which allows an
array/hash etc to be aliased rather than copied, got broken in rvalue
non-void context by v5.39.5-56-g604c0355d2. So in something like

    my $x = (\@a = $aref);

the stack was underflowing. This is because previously pp_refassign()
would leave its RH argument on the stack when returning, while my commit
above made it always pop the argument off the stack.

This commit makes it only pop the arg in void context.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to