In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/1553b1d30d5e28536f4332d3fa1f413a63b2fddd?hp=c290e187228e365708b7d5a9ae53ad10c3c002c6>
- Log ----------------------------------------------------------------- commit 1553b1d30d5e28536f4332d3fa1f413a63b2fddd Author: Father Chrysostomos <spr...@cpan.org> Date: Mon Dec 8 16:32:34 2014 -0800 Fix assertion failure with ($_[0])->{$_} Type::Tiny was triggering this. The Type::Tiny failure was mention in ticket #123213. ----------------------------------------------------------------------- Summary of changes: op.c | 3 ++- t/comp/parser.t | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/op.c b/op.c index 8882a2a..4983987 100644 --- a/op.c +++ b/op.c @@ -12517,7 +12517,8 @@ S_maybe_multideref(pTHX_ OP *start, OP *orig_o, UV orig_action, U8 hints) || (o->op_private & OPpDEREF) == OPpDEREF_HV); if (is_deref) { - assert(!(o->op_flags & ~(OPf_WANT|OPf_KIDS|OPf_MOD))); + assert(!(o->op_flags & + ~(OPf_WANT|OPf_KIDS|OPf_MOD|OPf_PARENS))); assert(!(o->op_private & ~(OPpARG2_MASK|OPpDEREF))); ok = o->op_flags == (OPf_WANT_SCALAR|OPf_KIDS|OPf_MOD) diff --git a/t/comp/parser.t b/t/comp/parser.t index 09d5632..db7c814 100644 --- a/t/comp/parser.t +++ b/t/comp/parser.t @@ -8,7 +8,7 @@ BEGIN { chdir 't' if -d 't'; } -print "1..171\n"; +print "1..172\n"; sub failed { my ($got, $expected, $name) = @_; @@ -509,6 +509,9 @@ eval '#line 1 maggapom is $@, "Illegal division by zero at maggapom line 2.\n", 'else {foo} line number (no space after {) [perl #122695]'; +# parentheses needed for this to fail an assertion in S_maybe_multideref +is +(${[{a=>214}]}[0])->{a}, 214, '($array[...])->{...}'; + # Add new tests HERE (above this line) # bug #74022: Loop on characters in \p{OtherIDContinue} -- Perl5 Master Repository