diff --git a/src/class.c b/src/class.c index 65d8cd3fb..cc13a9ef3 100644 --- a/src/class.c +++ b/src/class.c @@ -351,8 +351,7 @@ mrb_const_name_p(mrb_state *mrb, const char *name, mrb_int len) static void setup_class(mrb_state *mrb, struct RClass *outer, struct RClass *c, mrb_sym id) { - mrb_class_name_class(mrb, outer, c, id); - mrb_obj_iv_set(mrb, (struct RObject*)outer, id, mrb_obj_value(c)); + mrb_const_set(mrb, mrb_obj_value(outer), id, mrb_obj_value(c)); } #define make_metaclass(mrb, c) prepare_singleton_class((mrb), (struct RBasic*)(c))