From 44f7e3883e49d287a96f7ef36b5c935d833300e5 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Tue, 3 Mar 2020 15:48:53 +0900 Subject: Preserve `kwarg` flag and fix up f5c904c2a9 (cherry picked from commit c8d0bf0156878df03a71fffc97c44abf7333d5d7) --- parse.y | 2 ++ test/ruby/test_pattern_matching.rb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/parse.y b/parse.y index d249039024..d34d3f9adb 100644 --- a/parse.y +++ b/parse.y @@ -3940,11 +3940,13 @@ p_expr_basic : p_value | tLBRACE { $$ = push_pktbl(p); + $1 = p->in_kwarg; p->in_kwarg = 0; } p_kwargs rbrace { pop_pktbl(p, $2); + p->in_kwarg = $1; $$ = new_hash_pattern(p, Qnone, $3, &@$); } | tLBRACE rbrace diff --git a/test/ruby/test_pattern_matching.rb b/test/ruby/test_pattern_matching.rb index 3eea523416..3c4314bbe4 100644 --- a/test/ruby/test_pattern_matching.rb +++ b/test/ruby/test_pattern_matching.rb @@ -1060,6 +1060,8 @@ END in {a: 2} false + in a: {b:}, c: + p c in {a: } _a = a -- cgit v1.2.3