diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2022-09-14 14:43:31 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2022-09-21 11:44:09 +0900 |
commit | ec5798d28bca2c214da886e27d8e870c55301563 (patch) | |
tree | efa6cfa7bcbc29dd500cf1165f7660feaa17b926 /vm_method.c | |
parent | 4e64edb6cd8d1b444c591bfd50ec3d357e794f6e (diff) |
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.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6358
Diffstat (limited to 'vm_method.c')
-rw-r--r-- | vm_method.c | 4 |
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; |