[ruby-trunk - Bug #7261][Open] Symbol#to_proc to retrieve a method from current refinement

Issue #7261 has been reported by matz (Yukihiro M.).


Bug #7261: Symbol#to_proc to retrieve a method from current refinement
https://bugs.ruby-lang.org/issues/7261

Author: matz (Yukihiro M.)
Status: Open
Priority: Normal
Assignee: shugo (Shugo M.)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-01 trunk 37415) [i486-linux]

Currently Symbol#to_proc retrieves the global definition of the method,
since refinement is a lexical scope.
But if possible, it is better that Symbol#to_proc can retrieve a method
from current refinement.

module Silly
refine Integer do
def bar; p :bar; end
end
end

module Stupid
using Silly
1.bar # => :bar
[1,2].each(&:bar) # => undefined method `bar’
end

What do you think?

It should be done before 2.0.0 if we merge, to avoid future
compatibility issues.

Matz.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs