[ruby-core:93590] [Ruby master Bug#11022] opening an eigenclass does not change the class variable definition context
From:
eregontp@...
Date:
2019-07-07 10:02:15 UTC
List:
ruby-core #93590
Issue #11022 has been updated by Eregon (Benoit Daloze).
Class variable lookup just ignores singleton classes currently.
I assume this is intentional behavior so one can use the same variable in singleton methods (when defined under `class<<self`) and instance methods.
----------------------------------------
Bug #11022: opening an eigenclass does not change the class variable definition context
https://bugs.ruby-lang.org/issues/11022#change-79179
* Author: bughit (bug hit)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [i686-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
```ruby
module Mod1
class << Object.new
C = 1
@@cv = 1
p Module.nesting,
constants(false),
class_variables(false),
Mod1.class_variables(false)
end
end
```
```
[#<Class:#<Object:0xb6913d98>>, Mod1]
[:C]
[]
[:@@cv]
```
Shouldn't class var resolution be relative to the current lexical class (Module.nexting.first)?
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>