summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2019-08-26 14:51:00 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2019-08-27 15:52:26 +0900
commit5c7c2d9951f2512ca10ea38fecc48d8ac67502e6 (patch)
treea6a317a81bb40854ebd7dd50cf6d001f7a444fe1 /vm_eval.c
parent3cae73133cfec7d5ec3f8058ec647d5163578003 (diff)
rb_rescue / rb_rescue2 now free from ANYARGS
After 5e86b005c0f2ef30df2f9906c7e2f3abefe286a2, I now think ANYARGS is dangerous and should be extinct. This commit deletes ANYARGS from rb_rescue / rb_rescue2, which revealed many arity / type mismatches.
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 2670c2caab..e9045bbb41 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -322,16 +322,18 @@ struct rescue_funcall_args {
};
static VALUE
-check_funcall_exec(struct rescue_funcall_args *args)
+check_funcall_exec(VALUE v)
{
+ struct rescue_funcall_args *args = (void *)v;
return call_method_entry(args->ec, args->defined_class,
args->recv, idMethodMissing,
args->me, args->argc, args->argv);
}
static VALUE
-check_funcall_failed(struct rescue_funcall_args *args, VALUE e)
+check_funcall_failed(VALUE v, VALUE e)
{
+ struct rescue_funcall_args *args = (void *)v;
int ret = args->respond;
if (!ret) {
switch (rb_method_boundp(args->defined_class, args->mid,
@@ -1075,7 +1077,7 @@ rb_yield_block(VALUE val, VALUE arg, int argc, const VALUE *argv, VALUE blockarg
}
static VALUE
-loop_i(void)
+loop_i(VALUE _)
{
for (;;) {
rb_yield_0(0, 0);