
Issue #21154 has been updated by fxn (Xavier Noria). @mame I don't want anyone to waste their time, if you believe discussing this is so, please feel free to close. I opened this ticket because the discussion went on in the previous one and @eregon, who is a Ruby committer, suggested to do so. Why I don't show source code? Because this is not a ticket motivated by a need I have. Zeitwerk has been living with this edge case for 6 years. I am fine. I _thought_ that pointing out that the API is not consistent would be of your interest _per se_. Resolutions could be several: * Oh, thank you, `autoload?` is OK, we could document it checks features. * Oh, thank you, `autoload` should be the one checking features, actually, the piece that is not right here is `autoload`. * Oh, thank you, `autolad` is fine, but `autoload?` should return the file name, let's fix that. But we do not seem to be aligned. It is OK, please, feel free to close. ---------------------------------------- Misc #21154: Document or change Module#autoload? https://bugs.ruby-lang.org/issues/21154#change-112106 * Author: fxn (Xavier Noria) * Status: Open ---------------------------------------- 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/