aboutsummaryrefslogtreecommitdiffstats
path: root/compile.c
diff options
context:
space:
mode:
authorwanabe <s.wanabe@gmail.com>2020-08-08 21:48:35 +0900
committerKazuki Tsujimoto <kazuki@callcc.net>2020-08-16 18:39:08 +0900
commit2bbb7c3d1f2dc001354f6d58bf27c7796ea5f17e (patch)
tree99c60f76f5e42ecba1f6ab7b8cce188c2aebecc7 /compile.c
parent6bc0c6c18b02c5a00774303733bf1e3628f5e6eb (diff)
downloadruby-2bbb7c3d1f2dc001354f6d58bf27c7796ea5f17e.tar.gz
Adjust sp for `case ... in pat => var ... end`
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/compile.c b/compile.c
index beb782398d..1303a10b64 100644
--- a/compile.c
+++ b/compile.c
@@ -6212,6 +6212,7 @@ iseq_compile_pattern_each(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *c
ADD_INSN(ret, line, dup);
CHECK(iseq_compile_pattern_match(iseq, ret, n->nd_head, match_failed, in_alt_pattern, deconstructed_pos ? deconstructed_pos + 1 : FALSE));
CHECK(iseq_compile_pattern_each(iseq, ret, n->nd_next->nd_head, matched, match_failed, in_alt_pattern, FALSE));
+ ADD_INSN(ret, line, putnil);
ADD_LABEL(ret, match_failed);
ADD_INSN(ret, line, pop);