Experts: is the following bug related? (Also uses attributes, same assert, but in a different place.)
dcollins@nightshade64:~/perldebug$ ./perl -Ilib -W -e 'tie my$r:n'
perl: op.c:2799: Perl_op_lvalue_flags: Assertion `(o->op_flags & 3) != 1' failed.
Aborted
Without debug:
dcollins@nightshade64:~/perl$ ./perl -Ilib -W -e 'tie my$r:n'
Can't modify non-lvalue subroutine call of &attributes::import at -e line 1.
dcollins@nightshade64:~/perl$ ./perl -MO=Deparse -Ilib -e 'tie my$r:n'
use attributes ();
tie 'attributes'->import('main', \$r, 'n'), my $r;
-e syntax OK
Bisect
5c906035ffb6b2857a0f941a97ac9e7bb4126275 is the first bad commit
commit 5c906035ffb6b2857a0f941a97ac9e7bb4126275
Author: Gerard Goossen <gerard@ggoossen.net>
Date: Sat Aug 13 18:38:13 2011 +0200
Propagate lvalue context only to children of list ops which are not in void context.
Children list ops might be in void context because the list is in scalar
context. A test that discarded elements in a list are not assigned lvalue
context is added.
Children of a list op might also be in void context because they are
special entersub ops for attributes. This patch makes the
OPpENTERSUB_NOMOD flag redundant.
:100644 100644 775705b55e4c0f69255527942edbf8ae7b4f0bbf c4c0e762493df04c66d924090cde0c87e2bea018 M op.c
:040000 040000 8b96ea734cee36175aef04088948ead0744c5b03 a5c0ce3a48597ac07dadb8340649a878dad3877b M t
bisect run success
---
via perlbug: queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=128183