diff --git a/internal/namespace.h b/internal/namespace.h index c68f0987aa..9ffc9a5c8b 100644 --- a/internal/namespace.h +++ b/internal/namespace.h @@ -40,7 +40,7 @@ struct rb_namespace_struct { }; typedef struct rb_namespace_struct rb_namespace_t; -#define NAMESPACE_OBJ_P(obj) (CLASS_OF(obj) == rb_cNamespace) +#define NAMESPACE_OBJ_P(obj) (rb_obj_class(obj) == rb_cNamespace) #define NAMESPACE_ROOT_P(ns) (ns && !ns->is_user) #define NAMESPACE_USER_P(ns) (ns && ns->is_user) diff --git a/namespace.c b/namespace.c index 81017f902b..8d50ba4415 100644 --- a/namespace.c +++ b/namespace.c @@ -877,7 +877,8 @@ rb_initialize_main_namespace(void) namespace_experimental_warned = 1; } - main_ns = rb_class_new_instance_pass_kw(0, NULL, rb_cNamespace); + main_ns = rb_class_new_instance(0, NULL, rb_cNamespace); + VM_ASSERT(NAMESPACE_OBJ_P(main_ns)); ns = rb_get_namespace_t(main_ns); ns->ns_object = main_ns; ns->ns_id = namespace_generate_id();