зеркало из https://github.com/github/ruby.git
`NODE_MATCH` needs to be marked / allocated from marking bucket
Fixes a test in RubySpec
This commit is contained in:
Родитель
83ef58f264
Коммит
414a80d242
4
node.c
4
node.c
|
@ -1194,6 +1194,7 @@ rb_ast_newnode(rb_ast_t *ast, enum node_type type)
|
||||||
{
|
{
|
||||||
node_buffer_t *nb = ast->node_buffer;
|
node_buffer_t *nb = ast->node_buffer;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
case NODE_MATCH:
|
||||||
case NODE_LIT:
|
case NODE_LIT:
|
||||||
case NODE_STR:
|
case NODE_STR:
|
||||||
case NODE_XSTR:
|
case NODE_XSTR:
|
||||||
|
@ -1277,6 +1278,7 @@ mark_ast_value(void *ctx, NODE * node)
|
||||||
rb_gc_mark(args->imemo);
|
rb_gc_mark(args->imemo);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case NODE_MATCH:
|
||||||
case NODE_LIT:
|
case NODE_LIT:
|
||||||
case NODE_STR:
|
case NODE_STR:
|
||||||
case NODE_XSTR:
|
case NODE_XSTR:
|
||||||
|
@ -1287,7 +1289,7 @@ mark_ast_value(void *ctx, NODE * node)
|
||||||
rb_gc_mark(node->nd_lit);
|
rb_gc_mark(node->nd_lit);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
rb_bug("unreachable");
|
rb_bug("unreachable node %s", ruby_node_name(nd_type(node)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче