Issue #6828 has been updated by drbrain (Eric Hodel).

Target version changed from 2.0.0 to 3.0

=begin
I rely on this feature of constant lookup.

It allows me to define (({File})) and other top-level constants in my library's namespace, but still use the top-level (({File})) without littering (({::})) everywhere in my library. It also helps me reduce confusion of contributors.  They don't have to wonder if "File" is (({::File})) or (({MyLibrary::File})), it's always the top-level constant unless listed under my namespace. (In particular, RDoc has (({RDoc::Encoding})) and would break with this change.)

Changing the constant lookup will break ruby libraries that use this feature, so I have changed the target to 3.0
=end
----------------------------------------
Feature #6828: Constancy of Constants
https://bugs.ruby-lang.org/issues/6828#change-28900

Author: trans (Thomas Sawyer)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 3.0


=begin
Could have swore there was a recent issue addressing this, but couldn't find it, so...

I hope by Ruby 2.0

  module Foo::Bar::Baz

will be equivalent to

  module Foo; module Bar; module Baz

That constant lookup doesn't work the same for both is really really really annoying.
=end



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