summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--class.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/class.c b/class.c
index b9d62c18b1..87ebabef32 100644
--- a/class.c
+++ b/class.c
@@ -326,7 +326,13 @@ rb_class_new(VALUE super)
{
Check_Type(super, T_CLASS);
rb_check_inheritable(super);
- return rb_class_boot(super);
+ VALUE klass = rb_class_boot(super);
+
+ if (super != rb_cObject && super != rb_cBasicObject) {
+ RCLASS_EXT(klass)->max_iv_count = RCLASS_EXT(super)->max_iv_count;
+ }
+
+ return klass;
}
VALUE