From 1dddc2f712f774b22a8f65432299cebb3b26361b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 30 May 2018 17:05:05 +0900 Subject: Clear `__classname__` of duped class/module; ref #4027 --- src/kernel.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/kernel.c') diff --git a/src/kernel.c b/src/kernel.c index e9dc93bbd..8551b50ea 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -282,7 +282,9 @@ init_copy(mrb_state *mrb, mrb_value dest, mrb_value obj) case MRB_TT_CLASS: case MRB_TT_MODULE: copy_class(mrb, dest, obj); - /* fall through */ + mrb_iv_copy(mrb, dest, obj); + mrb_iv_remove(mrb, dest, mrb_intern_lit(mrb, "__classname__")); + break; case MRB_TT_OBJECT: case MRB_TT_SCLASS: case MRB_TT_HASH: -- cgit v1.2.3