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

Reply via email to