raise error if seq change is detected in uniq #18835
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.
References to other Issues or PRs
fixes #18832
Brief description of what is fixed or changed
When easily detectable, Python raises an error when an item being iterated over is changed and would thus cause the iteration to fail.
When iterating over the unique elements of an iterable as detected by
uniq
, changing the iterable during iteration will cause a failure inuniq
to detect the unique elements. It is not clear thatuniq
will do this so an error is now raised in the cases when this is easy to detect and a note is added to the docstring.Other comments
Release Notes
uniq
will now raise a RuntimeError if a size change of the sequence is detected