summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/class.c b/src/class.c
index aa2485cb1..5de791c85 100644
--- a/src/class.c
+++ b/src/class.c
@@ -105,12 +105,7 @@ make_metaclass(mrb_state *mrb, struct RClass *c)
}
sc = mrb_obj_alloc(mrb, MRB_TT_SCLASS, mrb->class_class);
sc->mt = 0;
- if (!c->super) {
- sc->super = mrb->class_class;
- }
- else {
- sc->super = c->super->c;
- }
+ sc->super = c->c;
c->c = sc;
mrb_field_write_barrier(mrb, (struct RBasic*)c, (struct RBasic*)sc);
mrb_field_write_barrier(mrb, (struct RBasic*)sc, (struct RBasic*)sc->super);