From: "fxn (Xavier Noria) via ruby-core" Date: 2025-04-22T19:55:03+00:00 Subject: [ruby-core:121708] [Ruby Misc#21154] Document or change Module#autoload? Issue #21154 has been updated by fxn (Xavier Noria). Let me add that the example above is not made up. I have seen many Rails applications with `require` calls for autoloadable files. Gems may do refactors that switch to `autoload` internally, but that is internal and existing client code may have working `require` calls. We said that it would be too costly for `autoload` to perform the `autoload?` check and return a flag, but my conclusion is that the current documentation implies code registering has to do that manually anyway. Because, in order to comply with the new docs, you have to make sure by hand the autoload can be set. However, if we restore the original documentation, you do not need to do that check, autoload logic takes care of that either in `autoload?` or, if not invoked, when the autoload is triggered anyway. But would be nice to have additional docs in `autoload?` and `const_defined?`, at least. ---------------------------------------- Misc #21154: Document or change Module#autoload? https://bugs.ruby-lang.org/issues/21154#change-112761 * 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/