Actions
Feature #12638
closedSymbol#to_proc probable bug (seems not to support refinements)
Status:
Closed
Assignee:
-
Target version:
-
Description
It is my understanding that
v.map { |x| x.foobar }
should always be equivalent to
v.map(&:foobar)
The following shows a case, involving refinements, where this is not the case.
module MyExtensions
refine Object do
def foobar
self
end
end
end
class MyClass
using MyExtensions
def self.ok(ary)
ary.map { |x| x.foobar }
end
def self.error(ary)
ary.map(&:foobar)
end
end
MyClass.ok([1]) #=> [1]
MyClass.error([1]) #=> NoMethodError: undefined method `foobar' for 1:Fixnum
PS: also affects ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
Actions
Like0
Like0Like0Like0