Change Version::max to take an Iterator #1271
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.
Version::max
takes anIntoIterator
as it's argument. This seems overly restrictive. If I want to use the max function, I now have to pass ownership of what ever data-structure I'm using into themax
function (either that, or clone it and then pass the clone intomax
). What if I still want to keep using that data-structure? I was taking a stab at #1058 and ran into this exact case. I have a vector of versions that I need to do multiple operations on (get all the version ids in the vector, get the length of the vector, as well as get the max version in the vector). It seemed weird that I had to give up ownership of the vector to get it's max version.Instead, let's just have
Version::max
take anIterator
instead. This is more permissive and actually doesn't break any existing code.