aboutsummaryrefslogtreecommitdiffstats
path: root/compile.c
diff options
context:
space:
mode:
authorwanabe <s.wanabe@gmail.com>2020-08-09 17:58:01 +0900
committerKazuki Tsujimoto <kazuki@callcc.net>2020-08-16 18:39:08 +0900
commit5c40c88a3e3361b77662b3f699fbffeb32663ce3 (patch)
treeab358ff56546fccaa5c6904d34002d5ec25d049c /compile.c
parent691f10dd89e8a3feedab5bea823038469b3d6d66 (diff)
downloadruby-5c40c88a3e3361b77662b3f699fbffeb32663ce3.tar.gz
Adjust sp for `case ... in a: 0 ... end`
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/compile.c b/compile.c
index 9780f6e485..f2ab7c3113 100644
--- a/compile.c
+++ b/compile.c
@@ -6111,12 +6111,14 @@ iseq_compile_pattern_each(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *c
ADD_INSN(ret, line, pop);
ADD_INSNL(ret, line, jump, matched);
+ ADD_INSN(ret, line, putnil);
ADD_LABEL(ret, type_error);
ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));
ADD_INSN1(ret, line, putobject, rb_eTypeError);
ADD_INSN1(ret, line, putobject, rb_fstring_lit("deconstruct_keys must return Hash"));
ADD_SEND(ret, line, id_core_raise, INT2FIX(2));
+ ADD_INSN(ret, line, pop);
ADD_LABEL(ret, match_failed);
ADD_INSN(ret, line, pop);