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 383df43dae..87842c3d3b 100644
--- a/class.c
+++ b/class.c
@@ -98,6 +98,9 @@ rb_define_class_id(id, super)
RBASIC(klass)->klass = singleton_class_new(RBASIC(super)->klass);
singleton_class_attached(RBASIC(klass)->klass, klass);
rb_funcall(super, rb_intern("inherited"), 1, klass);
+ if (FL_TEST(super, FL_PRIMITIVE)) {
+ FL_SET(klass, FL_PRIMITIVE);
+ }
return klass;
}