Actions
Bug #21320
openNamespaces leak with constant lookup
    Bug #21320:
    Namespaces leak with constant lookup
  
Description
The following program
X = :top
class C
  X = :super
end
class D < C
  p X
end
prints :super normally, and :top if running under a namespace.
        
           Updated by fxn (Xavier Noria) 6 months ago
          Updated by fxn (Xavier Noria) 6 months ago
          
          
        
        
      
      This is probably a consequence of https://bugs.ruby-lang.org/issues/21318.
        
           Updated by Eregon (Benoit Daloze) 6 months ago
          Updated by Eregon (Benoit Daloze) 6 months ago
          
          
        
        
      
      Full repro:
# Copy the description program to program.rb, e.g. $ xsel -b > program.rb
$ RUBY_NAMESPACE=1 ruby -ve 'puts "in main"; require "./program"; puts "in namespace"; Namespace.new.require "./program"' 
ruby 3.5.0dev (2025-05-10T07:50:29Z namespace-on-read-.. bd4f57f96b) +PRISM [x86_64-linux]
ruby: warning: Namespace is experimental, and the behavior may change in the future!
See doc/namespace.md for know issues, etc.
in main
:super
in namespace
:top
        
           Updated by hsbt (Hiroshi SHIBATA) 5 months ago
          Updated by hsbt (Hiroshi SHIBATA) 5 months ago
          
          
        
        
      
      - Tags set to namespace
Actions