Issue #9451 has been updated by Shugo Maeda.

Category set to core
Status changed from Open to Assigned
Assignee changed from Shugo Maeda to Yukihiro Matsumoto
Target version set to current: 2.2.0

I'd like to clarify the design policy rather than adding features ad hoc.

All implicit method calls in syntactic constructs should be affected by refinements, right?
Do other implementers, especially JRuby people, accept this policy?

----------------------------------------
Feature #9451: Refinements and unary & (to_proc)
https://bugs.ruby-lang.org/issues/9451#change-44883

* Author: Jan Lelis
* Status: Assigned
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: core
* Target version: current: 2.2.0
----------------------------------------
Not sure if this is a bug or feature request:

    require 'minitest/autorun'
    require 'set'
    
    module ClassToProc
      refine Class do
        def to_proc
          lambda{ |*args| self.new(*args) }
        end
      end
    end
    
    using ClassToProc
    
    describe 'Class#to_proc' do
      it 'works when called directly' do
        Set.to_proc[[1,2]].must_equal Set[1,2]
      end
    
      it 'fails when called via ampersand' do
        [[1,2]].map(&Set).must_equal [Set[1,2]]
      end
    end

The second example errors with *NoMethodError: super: no superclass method `to_proc' for Set:Class*

Would be great to have it, though.



-- 
http://bugs.ruby-lang.org/