inventory builder could better distinguish runtime errors from API misuse #4672
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.
The inventory builder has two forms of error reporting:
found_error()
is used to report things that are really part of the collection itself: a failure to collect some important information, or unexpected data, etc. Returned errors are used to signal to the caller that they've done something wrong. (These could as well be panics, except that the program state is not so wrong that it's dangerous to proceed.) This PR changes these to use simple newtypes. More could probably be done here (maybe in terms of making some of theCollectorBug
s actual compile errors) but I think this is a useful step.