From: "Eregon (Benoit Daloze) via ruby-core" Date: 2023-08-28T11:56:02+00:00 Subject: [ruby-core:114567] [Ruby master Feature#19849] Requiring file with autoload results in confusing error if file doesn't exist Issue #19849 has been updated by Eregon (Benoit Daloze). It cannot be part of the backtrace, because that line is executed way before and not when autoloading the constant. It could maybe be part of the error message, but that might be weird and also quite difficult, because autoloading calls `require` and that might be overridden, so it's hard to pass that state from autoloading to require and know to which require call it should apply. ---------------------------------------- Feature #19849: Requiring file with autoload results in confusing error if file doesn't exist https://bugs.ruby-lang.org/issues/19849#change-104381 * Author: p8 (Petrik de Heus) * Status: Open * Priority: Normal ---------------------------------------- Given the following file that calls the `Example` constant: ```ruby # example.rb require_relative 'autoload_example.rb' Example.new ``` and an autoload to define the `Example` constant, with an unknown path: ```ruby # autoload_example.rb autoload "Example", "path_unknown" ``` Running `ruby example.rb` results in the following error: ``` :85:in `require': cannot load such file -- path_unknown (LoadError) from :85:in `require' from example.rb:1:in `
' ``` The error is somewhat confusing as it doesn't show the location of the `autoload` which caused the error. This can be especially confusing if the autoload is called somewhere deep in a gem. -- 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/postorius/lists/ruby-core.ml.ruby-lang.org/