feat: contains_many and simplify works with iter of V not just &V #179
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.
contains
takes a&V
, because if you haven't ownedV
(even behind the smart pointerBox
/Arc
/Cow
) it is easy to add a&
. Socontains_many
copied that interface and takes an iterator ofItem = &V
. Unfortunately, if you have an iterator ofItem = V
(orItem =
Box
/Arc
/Cow
ofV
) it is not straightforward to get a reference.This came up in the context of semver-pubgrub, whose implementation of contains needs to ignore the
BuildMetadata
part of the semver version. I will be investigating if there are ways to work around this by expressing=x.y.z.pre
as>=x.y.z.pre, <x.y.z.pre.0
. But even ifsemver-pubgrub
does not need this functionality it doesn't hurt to makecontains_many
more flexible.