[#111472] [Ruby master Bug#19274] Error installing ruby 3.2.0 on RH 8 — "aalllop (Alberto Allegue) via ruby-core" <ruby-core@...>
Issue #19274 has been reported by aalllop (Alberto Allegue).
5 messages
2022/12/28
[#111508] Data support for versions before 3.2.0 — Eustáquio Rangel via ruby-core <ruby-core@...>
I was wondering that every piece of code (gems, etc) that use the new Data =
3 messages
2022/12/29
[ruby-core:111507] [Ruby master Bug#19270] Constants lookup and a singleton class issue
From:
"alanwu (Alan Wu) via ruby-core" <ruby-core@...>
Date:
2022-12-29 17:40:16 UTC
List:
ruby-core #111507
Issue #19270 has been updated by alanwu (Alan Wu).
It's expected behavior. When you have a singleton class `singleton_class.ancestors` is:
[singleton_class, attached_object_class, ...]
In this case the lookup for starts at `A`, which is `attached_object_class`.
It goes to the right so it never searches `singleton_class`. The lookup resolves when the
constant is on `attached_object_class` and it starts at `singleton_class`:
```ruby
class A
C = 1
end
a = A.new
klass = (class << a; self; end)
p klass::C # => 1
```
----------------------------------------
Bug #19270: Constants lookup and a singleton class issue
https://bugs.ruby-lang.org/issues/19270#change-100876
* Author: andrykonchin (Andrew Konchin)
* Status: Open
* Priority: Normal
* ruby -v: 3.1.3
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN
----------------------------------------
I've noticed that a constant declared in a singleton class may be not visible on an object:
```ruby
class A
def c; C; end
end
a = A.new
klass = (class << a; self; end)
klass.const_set(:C, 1)
a.c
# (irb):2:in `c': uninitialized constant A::C (NameError)
```
I would expect that such constant is visible and accessible on an object. It is expected and intentional behaviour?
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- [email protected]
To unsubscribe send an email to [email protected]
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/