From d4b89ccc61a28d59b484ba20aced9daf5a699bc2 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 14 Aug 2020 07:54:18 +0900 Subject: Add assertion we can pack function pointers in `mrb_method_t`. If this assertion fails, you have to define `MRB_USE_METHOD_T_STRUCT`. --- src/class.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/class.c b/src/class.c index 0e443da90..455a1b4e1 100644 --- a/src/class.c +++ b/src/class.c @@ -521,6 +521,9 @@ mrb_define_method_id(mrb_state *mrb, struct RClass *c, mrb_sym mid, mrb_func_t f int ai = mrb_gc_arena_save(mrb); MRB_METHOD_FROM_FUNC(m, func); +#ifndef MRB_USE_METHOD_T_STRUCT + mrb_assert(MRB_METHOD_FUNC(m) == func); +#endif if (aspec == MRB_ARGS_NONE()) { MRB_METHOD_NOARG_SET(m); } -- cgit v1.2.3