mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Fix up compiling popped ranges with non-optimizable bounds
Fixes [Bug #20763]
This commit is contained in:
parent
7e19904c88
commit
addb5fea94
Notes:
git
2024-09-27 17:43:57 +00:00
1 changed files with 7 additions and 7 deletions
|
@ -9678,19 +9678,19 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
|
|||
}
|
||||
}
|
||||
else {
|
||||
if (cast->left == NULL) {
|
||||
PUSH_INSN(ret, location, putnil);
|
||||
}
|
||||
else {
|
||||
if (cast->left != NULL) {
|
||||
PM_COMPILE(cast->left);
|
||||
}
|
||||
|
||||
if (cast->right == NULL) {
|
||||
else if (!popped) {
|
||||
PUSH_INSN(ret, location, putnil);
|
||||
}
|
||||
else {
|
||||
|
||||
if (cast->right != NULL) {
|
||||
PM_COMPILE(cast->right);
|
||||
}
|
||||
else if (!popped) {
|
||||
PUSH_INSN(ret, location, putnil);
|
||||
}
|
||||
|
||||
if (!popped) {
|
||||
PUSH_INSN1(ret, location, newrange, INT2FIX(exclude_end ? 1 : 0));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue