Closed arcnmx closed 10 months ago
Due to the need to reset an iterator prior to iterating, it feels like there needs to be two layers of typed iterators:
IntoValueIterator<T>
WpIterator
ValueIterator<T>
pub(crate)
ignore=true
into_inner()
IntoIterator<IntoIter = ValueIterator<T>>
self.reset()
new_
new_x_iterator
Iterator<Item = T>
.upcast() -> ValueIterator<U>
U: IsA<T>
Due to the need to reset an iterator prior to iterating, it feels like there needs to be two layers of typed iterators:
IntoValueIterator<T>
: a thin wrapper around aWpIterator
(new name subject to change/suggestions)ValueIterator<T>
WpIterator
behindpub(crate)
(or just manually implement them and markignore=true
in gir)into_inner()
this to get the untouched FFI value if desiredIntoIterator<IntoIter = ValueIterator<T>>
self.reset()
before returning the new iterator, assuming the referenced bug still existsnew_
prefix from anynew_x_iterator
methodsValueIterator<T>
: a wrapper around aWpIterator
that casts the values to the specified typeIterator<Item = T>
.upcast() -> ValueIterator<U>
whereU: IsA<T>