diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-05-30 17:05:05 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-05-30 17:05:05 +0900 |
| commit | 1dddc2f712f774b22a8f65432299cebb3b26361b (patch) | |
| tree | f6e625a5612d676813ba5edce039d951775806ad /src | |
| parent | 14c21793a01e4caa802e600540628fe9ae622d54 (diff) | |
| download | mruby-1dddc2f712f774b22a8f65432299cebb3b26361b.tar.gz mruby-1dddc2f712f774b22a8f65432299cebb3b26361b.zip | |
Clear `__classname__` of duped class/module; ref #4027
Diffstat (limited to 'src')
| -rw-r--r-- | src/kernel.c | 4 |
1 files changed, 3 insertions, 1 deletions
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: |
