Override range to avoid patching pubgrub #3713
Closed
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.
Create a newtype
struct PubGrubRange(pubgrub::range::Range<Version>)
to avoid overriding theDisplay
implementation onRange
in pubgrub itself, reducing our diff with upstream. Used methods taking an&Self
or returningSelf
were overridden, the rest of the methods succeeds through deref.An additional advantage is that we can start using the range type in more places without depending on pubgrub directly (#4041).
The alternative would be moving range formatting into the error formatter, but this would make pubgrub's api strange, deviating from rust's
Display
standard.