Actions
Bug #13087
closedRegression of instance_exec behaviour in ruby 2.4
Bug #13087: Regression 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.
Updated by chucke (Tiago Cardoso) almost 9 years ago
- ruby -v set to ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
Updated by nobu (Nobuyoshi Nakada) almost 9 years ago
- Is duplicate of Bug #13074: When executing instance_exec with symbol.to_proc, it ignores first argument. added
Updated by nobu (Nobuyoshi Nakada) almost 9 years ago
- Status changed from Open to Closed
Actions