diff options
author | Aaron Patterson <tenderlove@ruby-lang.org> | 2019-09-04 14:37:13 -0700 |
---|---|---|
committer | Aaron Patterson <tenderlove@ruby-lang.org> | 2019-09-05 10:13:50 -0700 |
commit | 429ed8d587423414fbbf2f562479c69562d52598 (patch) | |
tree | 00425d9a636ff1b467642731f706382004fd9a81 /parse.y | |
parent | 545b6db3fb367944f72cee5d41892eed63574634 (diff) |
Don't change DSTR nodes to ARRAY nodes
DSTR nodes are allocated in to the "markable" bucket where ARRAY nodes
are not. Switching buckets can cause errors during GC.
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -9611,9 +9611,7 @@ literal_concat(struct parser_params *p, NODE *head, NODE *tail, const YYLTYPE *l goto append; } else { - nd_set_type(tail, NODE_ARRAY); - tail->nd_head = NEW_STR(tail->nd_lit, loc); - list_concat(head, tail); + list_concat(head, NEW_NODE(NODE_ARRAY, NEW_STR(tail->nd_lit, loc), tail->nd_alen, tail->nd_next, loc)); } break; |