Actions
Bug #13087
closedRegression of instance_exec behaviour in ruby 2.4
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
Description
I've just caught up this running our test suite against the newly released ruby 2.4. Here is the repro gist:
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.
Actions
Like0
Like0Like0Like0