[#122258] [Ruby Misc#21367] Remove link to ruby-doc.org from www.ruby-lang.org/en/documentation/ — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>
Issue #21367 has been reported by p8 (Petrik de Heus).
11 messages
2025/05/23
[ruby-core:122240] [Ruby Bug#21363] `Namespace.current` should always return the Namespace in which it was defined
From:
"tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>
Date:
2025-05-22 23:17:11 UTC
List:
ruby-core #122240
Issue #21363 has been reported by tenderlovemaking (Aaron Patterson).
----------------------------------------
Bug #21363: `Namespace.current` should always return the Namespace in which it was defined
https://bugs.ruby-lang.org/issues/21363
* Author: tenderlovemaking (Aaron Patterson)
* Status: Open
* ruby -v: ruby 3.5.0dev (2025-05-22T23:07:21Z rm-assertion 17e71c7a24) +PRISM [arm64-darwin24]
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
I think `Namespace.current` should always return the namespace in which it was defined. Here is an example to demonstrate what I mean:
```ruby
File.binwrite("ns.rb", <<-RUBY)
# namespace 3
module M
def self.test
p Namespace.current
end
TEST = -> {
p Namespace.current
}
end
RUBY
ns = Namespace.new
ns.load "./ns.rb"
p Namespace.current
ns::M.test
ns::M::TEST.call
```
I expect the output of `ns::M.test` and `ns::M::TEST.call` to be the same. Instead the output is like this:
```
#<Namespace:2,user,main>
#<Namespace:3,user,optional>
#<Namespace:2,user,main>
```
I think a method and lambda defined in the same namespace should return the same value for `Namespace.current`
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/