From: "drbrain (Eric Hodel)" Date: 2012-08-16T03:01:10+09:00 Subject: [ruby-core:47217] [ruby-trunk - Feature #6828] Constancy of Constants 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/