From: "shugo (Shugo Maeda)" Date: 2013-01-09T14:58:43+09:00 Subject: [ruby-core:51330] [ruby-trunk - Bug #3422] Object.const_get(:A, false) can access BasicObject::A Issue #3422 has been updated by shugo (Shugo Maeda). Assignee changed from matz (Yukihiro Matsumoto) to kosaki (Motohiro KOSAKI) mame (Yusuke Endoh) wrote: > 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. I'm not sure why this ticket has been reopened, but if it's because of the following comment, this ticket can be closed, because the request has already been rejected in #7213. > Could the following problem be related to this change? "Including namespace module through RSpec config in Ruby 1.9.3":http://stackoverflow.com/questions/13042298/including-namespace-module-through-rspec-config-in-ruby-1-9-3 > > If so, wouldn't it be a better idea to revert this? Kosaki-san, why did you reopen this ticket? ---------------------------------------- Bug #3422: Object.const_get(:A, false) can access BasicObject::A https://bugs.ruby-lang.org/issues/3422#change-35298 Author: judofyr (Magnus Holm) Status: Assigned Priority: Normal Assignee: kosaki (Motohiro KOSAKI) 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/