Forum: Ruby-core [Assigned] Object.const_get(:A, false) can access BasicObject::A

Posted by mame (Yusuke Endoh) (Guest)
on 2012-12-09 16:46
(Received via mailing list)
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
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.