diff options
| -rw-r--r-- | src/class.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/class.c b/src/class.c index f94508402..fadc56437 100644 --- a/src/class.c +++ b/src/class.c @@ -213,8 +213,10 @@ mrb_vm_define_class(mrb_state *mrb, mrb_value outer, mrb_value super, mrb_sym id if (!c) { struct RClass *s = 0; - mrb_check_type(mrb, super, MRB_TT_CLASS); - if (!mrb_nil_p(super)) s = mrb_class_ptr(super); + if (!mrb_nil_p(super)) { + mrb_check_type(mrb, super, MRB_TT_CLASS); + s = mrb_class_ptr(super); + } c = mrb_class_new(mrb, s); setup_class(mrb, outer, c, id); } |
