Separate numbered parameter scope in eval

[Feature #16432]
This commit is contained in:
Nobuyoshi Nakada 2020-01-16 18:38:48 +09:00
Родитель f38b3e8c70
Коммит c171ab23e3
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4BC7D6DF58D8DF60
2 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -12041,7 +12041,7 @@ dvar_defined_ref(struct parser_params *p, ID id, ID **vidrefp)
if (used) used = used->prev;
}
if (vars == DVARS_INHERIT) {
if (vars == DVARS_INHERIT && !NUMPARAM_ID_P(id)) {
return rb_dvar_defined(id, p->parent_iseq);
}

Просмотреть файл

@ -1450,7 +1450,13 @@ eom
assert_valid_syntax("->{_1;#{c};->{_1};end}\n")
end
1.times {_1}
1.times {
[
_1,
assert_equal([:a], eval("[:a].map{_1}")),
assert_raise(NameError) {eval("_1")},
]
}
end
def test_value_expr_in_condition