From 2a84aaf4a8c8d6d6bbb09416711922532b0033fe Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Thu, 14 Mar 2024 18:55:52 +0900 Subject: Fix test session reuse but expire (#9824) (#10250) merge revision(s) 596db9c1f486d6609a4e97d82c8c71b54609fb6f: [Backport #20090] [Feature #19370] Blocks without anonymous parameters should not affect --- parse.y | 4 ++-- test/ruby/test_syntax.rb | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) --- parse.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 55a304bd2d..0bb9709097 100644 --- a/parse.y +++ b/parse.y @@ -15017,13 +15017,13 @@ forwarding_arg_check(struct parser_params *p, ID arg, ID all, const char *var) args = p->lvtbl->args; while (vars && !DVARS_TERMINAL_P(vars->prev)) { + conflict |= (vtable_included(args, arg) && !(all && vtable_included(args, all))); vars = vars->prev; args = args->prev; - conflict |= (vtable_included(args, arg) && !(all && vtable_included(args, all))); } bool found = false; - if (vars && vars->prev == DVARS_INHERIT) { + if (vars && vars->prev == DVARS_INHERIT && !found) { found = (rb_local_defined(arg, p->parent_iseq) && !(all && rb_local_defined(all, p->parent_iseq))); } -- cgit v1.2.3