mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Add back missing warning for duplicate keys in splatted hashes
This reverts the changes to parse.y in a5b37262524ac39d2af13eea174486370a581c23 as they are not actually needed and cause the warning for duplicate hash keys to not be emitted.
This commit is contained in:
parent
a810f6cbef
commit
42adc5bc6b
Notes:
git
2019-08-31 04:40:14 +09:00
1 changed files with 11 additions and 1 deletions
10
parse.y
10
parse.y
|
@ -5151,6 +5151,12 @@ assocs : assoc
|
|||
assocs = tail;
|
||||
}
|
||||
else if (tail) {
|
||||
if (assocs->nd_head &&
|
||||
!tail->nd_head && nd_type(tail->nd_next) == NODE_ARRAY &&
|
||||
nd_type(tail->nd_next->nd_head) == NODE_HASH) {
|
||||
/* DSTAR */
|
||||
tail = tail->nd_next->nd_head->nd_head;
|
||||
}
|
||||
assocs = list_concat(assocs, tail);
|
||||
}
|
||||
$$ = assocs;
|
||||
|
@ -5188,6 +5194,10 @@ assoc : arg_value tASSOC arg_value
|
|||
| tDSTAR arg_value
|
||||
{
|
||||
/*%%%*/
|
||||
if (nd_type($2) == NODE_HASH &&
|
||||
!($2->nd_head && $2->nd_head->nd_alen))
|
||||
$$ = 0;
|
||||
else
|
||||
$$ = list_append(p, NEW_LIST(0, &@$), $2);
|
||||
/*% %*/
|
||||
/*% ripper: assoc_splat!($2) %*/
|
||||
|
|
Loading…
Reference in a new issue