summaryrefslogtreecommitdiff
path: root/vm_method.c
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2022-09-14 14:43:31 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2022-09-21 11:44:09 +0900
commitec5798d28bca2c214da886e27d8e870c55301563 (patch)
treeefa6cfa7bcbc29dd500cf1165f7660feaa17b926 /vm_method.c
parent4e64edb6cd8d1b444c591bfd50ec3d357e794f6e (diff)
downloadruby-ec5798d28bca2c214da886e27d8e870c55301563.tar.gz
type pun rb_f_notimplement
Other functions are already type-punned elsewhere. rb_f_notimplement is the only exceptional function that appear literally. We have to take care of it by hand.
Diffstat (limited to 'vm_method.c')
-rw-r--r--vm_method.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vm_method.c b/vm_method.c
index fbe62ecd4c..03ab66d580 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -372,7 +372,7 @@ void
rb_add_method_cfunc(VALUE klass, ID mid, VALUE (*func)(ANYARGS), int argc, rb_method_visibility_t visi)
{
if (argc < -2 || 15 < argc) rb_raise(rb_eArgError, "arity out of range: %d for -2..15", argc);
- if (func != rb_f_notimplement) {
+ if (func != (VALUE(*)(ANYARGS))rb_f_notimplement) {
rb_method_cfunc_t opt;
opt.func = func;
opt.argc = argc;
@@ -561,7 +561,7 @@ rb_method_definition_set(const rb_method_entry_t *me, rb_method_definition_t *de
RB_OBJ_WRITE(me, &def->body.bmethod.defined_ractor, rb_ractor_self(GET_RACTOR()));
return;
case VM_METHOD_TYPE_NOTIMPLEMENTED:
- setup_method_cfunc_struct(UNALIGNED_MEMBER_PTR(def, body.cfunc), rb_f_notimplement_internal, -1);
+ setup_method_cfunc_struct(UNALIGNED_MEMBER_PTR(def, body.cfunc), (VALUE(*)(ANYARGS))rb_f_notimplement_internal, -1);
return;
case VM_METHOD_TYPE_OPTIMIZED:
def->body.optimized = *(rb_method_optimized_t *)opts;