From: matz@... Date: 2019-09-19T07:38:52+00:00 Subject: [ruby-core:94974] [Ruby master 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 matz (Yukihiro Matsumoto). This bug should be fixed. @nobu could you review the patch? Matz. ---------------------------------------- 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-81591 * Author: shugo (Shugo Maeda) * Status: Assigned * Priority: Normal * Assignee: ko1 (Koichi Sasada) * Target version: * 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). ---Files-------------------------------- instance_eval-module-super-11636.patch (4.93 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: