Skip to content

Commit d515292

Browse files
committed
[Bug #19175] p_kw without a sub pattern should be `assignable'
1 parent 6c0925b commit d515292

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

parse.y

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4732,7 +4732,7 @@ p_kw : p_kw_label p_expr
47324732
/*%%%*/
47334733
$$ = list_append(p, NEW_LIST(NEW_LIT(ID2SYM($1), &@$), &@$), assignable(p, $1, 0, &@$));
47344734
/*% %*/
4735-
/*% ripper: rb_ary_new_from_args(2, get_value($1), Qnil) %*/
4735+
/*% ripper: rb_ary_new_from_args(2, get_value(assignable(p, $1)), Qnil) %*/
47364736
}
47374737
;
47384738

test/ripper/test_sexp.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,14 @@ def test_dsym
502502
[:aryptn, nil, nil, [:var_field, [:@ident, "a", [1, 13]]], nil],
503503
[[:var_ref, [:@ident, "a", [1, 17]]]],
504504
nil]],
505+
506+
[__LINE__, %q{ case 0; in {a:}; a; end } ] =>
507+
[:case,
508+
[:@int, "0", [1, 5]],
509+
[:in,
510+
[:hshptn, nil, [[[:@label, "a:", [1, 12]], nil]], nil],
511+
[[:var_ref, [:@ident, "a", [1, 17]]]],
512+
nil]],
505513
}
506514
pattern_matching_data.each do |(i, src), expected|
507515
define_method(:"test_pattern_matching_#{i}") do

0 commit comments

Comments
 (0)