diff options
| author | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-16 11:34:16 +0900 |
|---|---|---|
| committer | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-16 11:34:16 +0900 |
| commit | a5d7ebbad04ce2f09aa1b603e471b3f161b5cc63 (patch) | |
| tree | b2496f928a7b19bc9f17abed951f61c11fdfdd87 /src/kernel.c | |
| parent | 8856c8924651d0ad9779c9256a1b0d35fb4d748a (diff) | |
| download | mruby-a5d7ebbad04ce2f09aa1b603e471b3f161b5cc63.tar.gz mruby-a5d7ebbad04ce2f09aa1b603e471b3f161b5cc63.zip | |
prepare metaclass of metaclass when retrieving by singleton_class(); close #540
Diffstat (limited to 'src/kernel.c')
| -rw-r--r-- | src/kernel.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/kernel.c b/src/kernel.c index d467a34da..adb616466 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -287,7 +287,8 @@ mrb_singleton_class_clone(mrb_state *mrb, mrb_value obj) clone->super = klass->super; if (klass->iv) { - clone->iv = klass->iv; + mrb_iv_copy(mrb, mrb_obj_value(clone), mrb_obj_value(klass)); + mrb_obj_iv_set(mrb, (struct RObject*)clone, mrb_intern(mrb, "__attached__"), obj); } if (klass->mt) { clone->mt = kh_copy(mt, mrb, klass->mt); |
