diff --git a/src/vm.c b/src/vm.c index 08c04e7b1..bd99e9013 100644 --- a/src/vm.c +++ b/src/vm.c @@ -897,12 +897,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) else { ci->argc = n; } - if (c->tt == MRB_TT_ICLASS) { - ci->target_class = c->c; - } - else { - ci->target_class = c; - } + ci->target_class = c; ci->pc = pc + 1; ci->acc = a; diff --git a/test/t/module.rb b/test/t/module.rb index b192361ca..8655db391 100644 --- a/test/t/module.rb +++ b/test/t/module.rb @@ -481,3 +481,25 @@ assert('Module#inspect') do assert_equal 'Test4to_sModules', Test4to_sModules.inspect end + +assert('Issue 1467') do + module M1 + def initialize() + super() + end + end + + class C1 + include M1 + def initialize() + super() + end + end + + class C2 + include M1 + end + + C1.new + C2.new +end