зеркало из https://github.com/github/ruby.git
[PRISM] pm_compile_logical: Fix OrNode in IfNode predicate
Fixes: https://github.com/ruby/prism/issues/2294
This commit is contained in:
Родитель
1142ed2f50
Коммит
8041b7d967
|
@ -495,7 +495,9 @@ pm_compile_logical(rb_iseq_t *iseq, LINK_ANCHOR *const ret, pm_node_t *cond,
|
|||
return;
|
||||
}
|
||||
if (!label->refcnt) {
|
||||
PM_PUTNIL;
|
||||
if (popped) {
|
||||
PM_PUTNIL;
|
||||
}
|
||||
}
|
||||
else {
|
||||
ADD_LABEL(seq, label);
|
||||
|
|
|
@ -1011,6 +1011,7 @@ module Prism
|
|||
assert_prism_eval('if ..1; end')
|
||||
assert_prism_eval('if 1..; end')
|
||||
assert_prism_eval('if 1..2; end')
|
||||
assert_prism_eval('if true or true; end');
|
||||
end
|
||||
|
||||
def test_OrNode
|
||||
|
|
Загрузка…
Ссылка в новой задаче