From: "mame (Yusuke Endoh)" Date: 2012-12-10T00:45:42+09:00 Subject: [ruby-core:50718] [ruby-trunk - Bug #3422][Assigned] Object.const_get(:A, false) can access BasicObject::A 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 ---------------------------------------- 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/