Feature #16043
closed
`$LOAD_PATH.resolve_feature_path` should not raise
Added by deivid (David Rodríguez) about 5 years ago.
Updated over 3 years ago.
Description
When I first tried this method, I was expecting it to return nil
when the given feature is not found. This is because I read in the docs and discussion that this method only searches the feature in the LOAD_PATH, but does not attempt to load it. Raising a load error makes it look that this method tries to load the feature, but I don't think it does that.
Also returning nil
seems friendlier to me because the "feature not found" case is more like an expected outcome of the method than a real error condition, so in most usages this error will actually be rescued for control flow.
I attach a patch with the change, and link to the GH PR: https://github.com/ruby/ruby/pull/2317.
Files
read in the docs and discussion that this method only searches the feature in the LOAD_PATH,
but does not attempt to load it. Raising a load error makes it look that this method tries
to load the feature, but I don't think it does that.
I had a look at the tracker:
https://bugs.ruby-lang.org/issues/15230
And I agree with you in the sense that mame did not mandate that the method should raise,
so it probably should not raise (or it should be mentioned in the documentation, IMO).
I have no opinion on what it should return but I think either way it would be best to
specify it, to less confusion by other ruby users. It may be best to ask mame directly
whether he agrees with your comment + patch. :)
Thanks for having a look and for linking to the original discussion!
- Tracker changed from Bug to Feature
- ruby -v deleted (
ruby 2.7.0dev)
- Backport deleted (
2.5: UNKNOWN, 2.6: UNKNOWN)
Agreed, I added it to the next dev-meeting agenda (#17299)
- Status changed from Open to Closed
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0