chore(path): make path reading api more rusty #9103
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Remove
read_existing_to_string_or
in favor ofread_existing_to_string
to consolidate on the more Rust-y API for reading a path to a file.read_existing_to_string_or
is an awkward API due:Result<impl Into<String>, io::Error>
.impl Into<String>
was chosen so unnecessary work could be avoided. This is limiting compared toFnOnce() -> String
.Option
APIThe benefits of not conflating the two outcomes is best displayed when trying to read a config file. Instead of defaulting having a default of
{}
and then parsing it as JSON we can skip the parse and just useConfigurationOptions::default()
Testing Instructions
Existing unit tests + 👀