Actions
Bug #15720
closedSystemStackError when referencing a refinement in a module that isn't used
    Bug #15720:
    SystemStackError when referencing a refinement in a module that isn't used
  
Description
module M1
  refine Kernel do
    def foo
      'foo called!'
    end
  end
end
module M2
  refine Kernel do
    def bar
      'bar called!'
    end
  end
end
using M1
puts foo
puts bar
Expected:
foo called!
Traceback (most recent call last):
bug.rb:20:in `<main>': undefined local variable or method `bar' for main:Object (NameError)
Actual:
foo called!
Traceback (most recent call last):
bug.rb:20:in `<main>': stack level too deep (SystemStackError)
Platform: Linux (Arch)
ruby -v:
- ruby 2.7.0dev (2019-03-21 trunk 67332) [x86_64-linux]
- ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-linux]
- ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]
Files
Actions