[#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:122342] [Ruby Bug#21384] const_added is triggered twice when using autoload
From:
"fxn (Xavier Noria) via ruby-core" <ruby-core@...>
Date:
2025-05-30 15:32:48 UTC
List:
ruby-core #122342
Issue #21384 has been updated by fxn (Xavier Noria).
Let me add that I'd prefer that Ruby does not consider autoloads as constants in the API, I'd like autoloads to become constants if realized (autoloading can err, and even if succeeds, the owner may not be the receiver of the `autoload` call).
But that is the way it works.
----------------------------------------
Bug #21384: const_added is triggered twice when using autoload
https://bugs.ruby-lang.org/issues/21384#change-113489
* Author: petekinnecom (Pete Kinnecom)
* Status: Open
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
As the title says, I've noticed that `const_added` is invoked twice when using `autoload`. I'm wondering if this behavior is intended or perhaps a bug. Here's a small script to reproduce what I'm seeing:
``` ruby
require "tmpdir"
dir = Dir.mktmpdir
File.write(
File.join(dir, "const.rb"),
"class Const; end"
)
def Object.const_added(const_name)
super.tap { puts "const_added: #{const_name}" }
end
$LOAD_PATH << dir
puts "before autoload call"
autoload :Const, "const"
puts "after autoload call"
puts Const
# Produces output:
#
# => before autoload call
# => const_added: Const
# => after autoload call
# => const_added: Const
# => Const
```
I'm seeing the behavior using the following docker containers ruby:3.2 and ruby:3.5-rc when running like so: `docker run -v ./:/home ruby:3.5-rc ruby /home/script.rb`. Thanks.
--
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/