From: ko1@... Date: 2015-11-19T07:16:32+00:00 Subject: [ruby-core:71575] [Ruby trunk - Bug #11636] super in instance_eval in a method defined in a module is invoked with a wrong receiver Issue #11636 has been updated by Koichi Sasada. Description updated ---------------------------------------- Bug #11636: super in instance_eval in a method defined in a module is invoked with a wrong receiver https://bugs.ruby-lang.org/issues/11636#change-54956 * Author: Shugo Maeda * Status: Assigned * Priority: Normal * Assignee: Koichi Sasada * ruby -v: * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- super in instance_eval in a method defined in a module is invoked with a wrong receiver: ```ruby class Foo def initialize @foo = :foo end def foo p [self, @foo] end end module M def foo x = Object.new x.instance_eval do super end end end class Bar < Foo include M end Bar.new.foo ``` The output should be [#, :foo] or an exception. Matz prefer the former (https://twitter.com/yukihiro_matz/status/659913844861464576). -- https://bugs.ruby-lang.org/