From: "mame (Yusuke Endoh) via ruby-core" Date: 2025-04-10T16:03:00+00:00 Subject: [ruby-core:121624] [Ruby Misc#21154] Document or change Module#autoload? Issue #21154 has been updated by mame (Yusuke Endoh). Aha, when test.rb is required, currently `autoload` does (almost) nothing because test.rb is already being required, so test.rb is never executed twice. ``` $ ruby -r./test.rb -e '' 1 2 3 ``` Also, when I execute `action_cable.rb` directly, I got constant redefinition warnings. This means `action_cable.rb` was indeed evaluated twice :-) ``` $ ruby /home/mame/.rbenv/versions/ruby-dev/lib/ruby/gems/3.5.0+0/gems/actioncable-8.0.2/lib/action_cable.rb /home/mame/.rbenv/versions/ruby-dev/lib/ruby/gems/3.5.0+0/gems/actioncable-8.0.2/lib/action_cable.rb:58: warning: already initialized constant ActionCable::INTERNAL /home/mame/.rbenv/versions/ruby-dev/lib/ruby/gems/3.5.0+0/gems/actioncable-8.0.2/lib/action_cable.rb:58: warning: previous definition of INTERNAL was here ``` I think I understand the problem and can explain it at the May dev meeting. However, I am not sure what is the best solution for this issue. ---------------------------------------- Misc #21154: Document or change Module#autoload? https://bugs.ruby-lang.org/issues/21154#change-112679 * Author: fxn (Xavier Noria) * Status: Feedback * Assignee: mame (Yusuke Endoh) ---------------------------------------- The documentation of `Module#autoload?` says > Returns filename to be loaded if name is registered as autoload in the namespace of mod or one of its ancestors. Cool, but in the following snippet ```ruby autoload :Foo, 'foo' autoload?(:Foo) ``` the second line could evaluate to `nil`, and this does not seem to agree. I just registered an autoload, therefore (according to the documentation) I should get "foo" back in line 2. I'd like to ask for clarification from the Ruby team: 1. Is the documentation complete? Should that second line always return "foo"? 2. If the answer is no, which is the logic missing in the docs? Thank you! -- 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/