Struct StripPrefixError
pub struct StripPrefixError<I, Prefix: Iterator, T> { pub iterator: I, pub prefix: Prefix, pub mismatch: (Option<T>, Prefix::Item) }
The error returned by Itertools::strip_prefix and
Itertools::strip_prefix_by when the iterator does not start with the
requested prefix.
All fields are public so callers can recover the partially-consumed iterators and the mismatched items.
Fields
iterator: IThe remainder of the original iterator, advanced past the matched prefix items but stopped at the position of the mismatch.
prefix: PrefixThe remainder of the prefix iterator, starting just after the prefix item that failed to match.
mismatch: (Option<T>, Prefix::Item)The pair of items that failed to compare equal. The first element is
Noneifiteratorwas exhausted before the prefix was fully matched.
Trait Implementations
impl<I: Clone, Prefix: Clone + Iterator, T: Clone> Clone for StripPrefixError<I, Prefix, T>
where
Prefix::Item: Clone,
fn clone(&self) -> StripPrefixError<I, Prefix, T>
impl<I: Debug, Prefix: Debug + Iterator, T: Debug> Debug for StripPrefixError<I, Prefix, T>
where
Prefix::Item: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl<I, Prefix, T> Freeze for StripPrefixError<I, Prefix, T>
where
I: Freeze,
Prefix: Freeze,
(Option<T>, <Prefix as Iterator>::Item): Freeze,
impl<I, Prefix, T> RefUnwindSafe for StripPrefixError<I, Prefix, T>
where
I: RefUnwindSafe,
Prefix: RefUnwindSafe,
(Option<T>, <Prefix as Iterator>::Item): RefUnwindSafe,
impl<I, Prefix, T> Send for StripPrefixError<I, Prefix, T>
where
I: Send,
Prefix: Send,
(Option<T>, <Prefix as Iterator>::Item): Send,
impl<I, Prefix, T> Sync for StripPrefixError<I, Prefix, T>
where
I: Sync,
Prefix: Sync,
(Option<T>, <Prefix as Iterator>::Item): Sync,
impl<I, Prefix, T> Unpin for StripPrefixError<I, Prefix, T>
where
I: Unpin,
Prefix: Unpin,
(Option<T>, <Prefix as Iterator>::Item): Unpin,
impl<I, Prefix, T> UnsafeUnpin for StripPrefixError<I, Prefix, T>
where
I: UnsafeUnpin,
Prefix: UnsafeUnpin,
(Option<T>, <Prefix as Iterator>::Item): UnsafeUnpin,
impl<I, Prefix, T> UnwindSafe for StripPrefixError<I, Prefix, T>
where
I: UnwindSafe,
Prefix: UnwindSafe,
(Option<T>, <Prefix as Iterator>::Item): UnwindSafe,
Blanket Implementations
impl<T> Any for StripPrefixError<I, Prefix, T>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for StripPrefixError<I, Prefix, T>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for StripPrefixError<I, Prefix, T>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for StripPrefixError<I, Prefix, T>
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for StripPrefixError<I, Prefix, T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> IntoEither for StripPrefixError<I, Prefix, T>
impl<T> ToOwned for StripPrefixError<I, Prefix, T>
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for StripPrefixError<I, Prefix, T>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for StripPrefixError<I, Prefix, T>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for StripPrefixError<I, Prefix, T>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>