summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/proc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/proc.c b/src/proc.c
index a61296ed4..1511725d9 100644
--- a/src/proc.c
+++ b/src/proc.c
@@ -156,6 +156,12 @@ mrb_proc_arity(mrb_state *mrb, mrb_value self)
// TODO cfunc aspec not implemented yet
return mrb_fixnum_value(-1);
}
+
+ // arity is depend on OP_ENTER
+ if (GET_OPCODE(*iseq) != OP_ENTER) {
+ return mrb_fixnum_value(0);
+ }
+
aspec = GETARG_Ax(*iseq);
ma = MRB_ASPEC_REQ(aspec);
ra = MRB_ASPEC_REST(aspec);