Skip to content

Commit 2100826

Browse files
committed
Fix wrong way to check an object is an instance of rb_cNamespace
1 parent 545cee0 commit 2100826

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

internal/namespace.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ struct rb_namespace_struct {
4040
};
4141
typedef struct rb_namespace_struct rb_namespace_t;
4242

43-
#define NAMESPACE_OBJ_P(obj) (CLASS_OF(obj) == rb_cNamespace)
43+
#define NAMESPACE_OBJ_P(obj) (rb_obj_class(obj) == rb_cNamespace)
4444

4545
#define NAMESPACE_ROOT_P(ns) (ns && !ns->is_user)
4646
#define NAMESPACE_USER_P(ns) (ns && ns->is_user)

namespace.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -877,7 +877,8 @@ rb_initialize_main_namespace(void)
877877
namespace_experimental_warned = 1;
878878
}
879879

880-
main_ns = rb_class_new_instance_pass_kw(0, NULL, rb_cNamespace);
880+
main_ns = rb_class_new_instance(0, NULL, rb_cNamespace);
881+
VM_ASSERT(NAMESPACE_OBJ_P(main_ns));
881882
ns = rb_get_namespace_t(main_ns);
882883
ns->ns_object = main_ns;
883884
ns->ns_id = namespace_generate_id();

0 commit comments

Comments
 (0)