summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'class.c')
-rw-r--r--class.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/class.c b/class.c
index 5d13cbaf7d..9716aab78c 100644
--- a/class.c
+++ b/class.c
@@ -1004,8 +1004,9 @@ rb_define_class(const char *name, VALUE super)
}
klass = rb_define_class_id(id, super);
rb_vm_register_global_object(klass);
+ rb_const_set_raw(rb_cObject, id, klass);
rb_class_inherited(super, klass);
- rb_const_set(rb_cObject, id, klass);
+ rb_const_added(klass, id);
return klass;
}
@@ -1043,8 +1044,10 @@ rb_define_class_id_under_no_pin(VALUE outer, ID id, VALUE super)
}
klass = rb_define_class_id(id, super);
rb_set_class_path_string(klass, outer, rb_id2str(id));
+
+ rb_const_set_raw(outer, id, klass);
rb_class_inherited(super, klass);
- rb_const_set(outer, id, klass);
+ rb_const_added(outer, id);
return klass;
}