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.
This is just a POC for adding iterator support to Rune.
The
Iterator
type is a type-erased implementation of all various forms of iterators that are supported.This allows for the following:
This adds support for:
size_hint
- To return the expected size of the iterator.map
- To map an iterator.filter
- To filter an iterator.rev
- To reverse an iterator, which is only supported for double-ended iterators. Else it will panic.chain
- To chain two iterators.enumerate
- To create an enumerating iterator, which is only supported by exact-size iterators. This is detected if the lower and upper bound ofsize_hint
agrees.Object
iterators specifically doesn't have a known size (Same as the Rust impl, but dynamically).Vec
,Object
, andOption
.