From d9ce44e99b9eaedfea60aada200f37b90b8174f1 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 20 Apr 2012 13:17:56 +0900 Subject: wrong inheritance chain from singleton class --- src/class.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'src') 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); -- cgit v1.2.3