pub struct ArrayIterator<'bytes, 'parent, B, S>{ /* private fields */ }
Expand description
An iterator over an array.
Implementations§
Source§impl<'bytes, 'parent, B, S> ArrayIterator<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> ArrayIterator<'bytes, 'parent, B, S>
Sourcepub fn next(
&mut self,
) -> Option<Result<Value<'bytes, '_, B, S>, JsonError<'bytes, B, S>>>
pub fn next( &mut self, ) -> Option<Result<Value<'bytes, '_, B, S>, JsonError<'bytes, B, S>>>
The next item within the array.
This is approximate to Iterator::next
yet each item maintains a mutable reference to the
iterator. Accordingly, we cannot use Iterator::next
which requires items not borrow from
the iterator.
polonius-the-crab details a frequent limitation of Rust’s borrow checker which users of this function may incur. It also details potential solutions (primarily using inlined code instead of functions, callbacks) before presenting itself as a complete solution. Please refer to it if you have difficulties calling this method for context.
Trait Implementations§
Auto Trait Implementations§
impl<'bytes, 'parent, B, S> Freeze for ArrayIterator<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> RefUnwindSafe for ArrayIterator<'bytes, 'parent, B, S>where
B: RefUnwindSafe,
S: RefUnwindSafe,
<B as BytesLike<'bytes>>::Error: RefUnwindSafe,
<S as Stack>::Error: RefUnwindSafe,
impl<'bytes, 'parent, B, S> Send for ArrayIterator<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> Sync for ArrayIterator<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> Unpin for ArrayIterator<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> !UnwindSafe for ArrayIterator<'bytes, 'parent, B, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more