summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'class.c')
-rw-r--r--class.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/class.c b/class.c
index 1930a2da67..65187f50d0 100644
--- a/class.c
+++ b/class.c
@@ -149,6 +149,9 @@ rb_make_metaclass(obj, super)
rb_singleton_class_attached(klass, obj);
if (BUILTIN_TYPE(obj) == T_CLASS) {
RBASIC(klass)->klass = klass;
+ if (FL_TEST(obj, FL_SINGLETON)) {
+ RCLASS(klass)->super = RBASIC(RCLASS(obj)->super)->klass;
+ }
}
return klass;