Actions
Bug #21384
closedconst_added is triggered twice when using autoload
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
Description
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:
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.
Actions
Like0
Like0Like0Like0Like0Like0