From: cardoso_tiago@... Date: 2016-12-29T11:05:18+00:00 Subject: [ruby-core:78905] [Ruby trunk Bug#13087] Regression of instance_exec behaviour in ruby 2.4 Issue #13087 has been reported by Tiago Cardoso. ---------------------------------------- Bug #13087: Regression of instance_exec behaviour in ruby 2.4 https://bugs.ruby-lang.org/issues/13087 * Author: Tiago Cardoso * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- I've just caught up this running our test suite against the newly released ruby 2.4. Here is the repro gist: ```ruby class A def initialize(x) @x = x end def perform puts "performing #{@x} times" end end puts "basic" A.new(1).tap do |a| a.instance_exec do perform end end #puts "advanced" A.new(1).tap do |a| a.instance_exec(A.new(3), &:perform) end ``` The last one output "3 times in all ruby 2's except latest 2.4 . This seems to apply the to_proc symbol to the object itself, and not the argument of instance_exec, which is a regression. -- https://bugs.ruby-lang.org/ Unsubscribe: