Issue #3422 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Target version changed from 1.9.3 to 2.0.0

Matz, do you think that it should be changed again?
IMO, in principle, I don't think that it is a good idea to change the behavior so many times.

-- 
Yusuke Endoh <mame / tsg.ne.jp>
----------------------------------------
Bug #3422: Object.const_get(:A, false) can access BasicObject::A
https://bugs.ruby-lang.org/issues/3422#change-34565

Author: judofyr (Magnus Holm)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 2.0.0
ruby -v: -


=begin
 From the documentation of Module#const_get(sym, inherit=true):
 
   If the constant is not defined or is defined by the ancestors and inherit is false, NameError will be raised.
 
 Yet, this works fine:
 
   BasicObject::A = 1
   Object.const_get(:A, false) # => 1
 
 While I haven't tested it, I believe the attached patch should fix the issue.
=end



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