pub struct VerboseError<I> {
pub errors: Vec<(I, VerboseErrorKind)>,
}
Expand description
This error type accumulates errors and their position when backtracking
through a parse tree. With some post processing (cf examples/json.rs
),
it can be used to display user friendly error messages
Fields§
§errors: Vec<(I, VerboseErrorKind)>
List of errors accumulated by VerboseError
, containing the affected
part of input data, and some context
Trait Implementations§
Source§impl<I: Clone> Clone for VerboseError<I>
impl<I: Clone> Clone for VerboseError<I>
Source§fn clone(&self) -> VerboseError<I>
fn clone(&self) -> VerboseError<I>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<I> ContextError<I> for VerboseError<I>
impl<I> ContextError<I> for VerboseError<I>
Source§fn add_context(input: I, ctx: &'static str, other: Self) -> Self
fn add_context(input: I, ctx: &'static str, other: Self) -> Self
Creates a new error from an input position, a static string and an existing error.
This is used mainly in the context combinator, to add user friendly information
to errors when backtracking through a parse tree
Source§impl<I: Debug> Debug for VerboseError<I>
impl<I: Debug> Debug for VerboseError<I>
Source§impl<I: Display> Display for VerboseError<I>
impl<I: Display> Display for VerboseError<I>
Source§impl<I: Debug + Display> Error for VerboseError<I>
impl<I: Debug + Display> Error for VerboseError<I>
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl<I> ErrorConvert<VerboseError<(I, usize)>> for VerboseError<I>
impl<I> ErrorConvert<VerboseError<(I, usize)>> for VerboseError<I>
Source§fn convert(self) -> VerboseError<(I, usize)>
fn convert(self) -> VerboseError<(I, usize)>
Transform to another error type
Source§impl<I> ErrorConvert<VerboseError<I>> for VerboseError<(I, usize)>
impl<I> ErrorConvert<VerboseError<I>> for VerboseError<(I, usize)>
Source§fn convert(self) -> VerboseError<I>
fn convert(self) -> VerboseError<I>
Transform to another error type
Source§impl<I, E> FromExternalError<I, E> for VerboseError<I>
impl<I, E> FromExternalError<I, E> for VerboseError<I>
Source§fn from_external_error(input: I, kind: ErrorKind, _e: E) -> Self
fn from_external_error(input: I, kind: ErrorKind, _e: E) -> Self
Create a new error from an input position and an external error
Source§impl<I> ParseError<I> for VerboseError<I>
impl<I> ParseError<I> for VerboseError<I>
Source§fn from_error_kind(input: I, kind: ErrorKind) -> Self
fn from_error_kind(input: I, kind: ErrorKind) -> Self
Creates an error from the input position and an ErrorKind
Source§fn append(input: I, kind: ErrorKind, other: Self) -> Self
fn append(input: I, kind: ErrorKind, other: Self) -> Self
Combines an existing error with a new one created from the input
position and an ErrorKind. This is useful when backtracking
through a parse tree, accumulating error context on the way
Source§impl<I: PartialEq> PartialEq for VerboseError<I>
impl<I: PartialEq> PartialEq for VerboseError<I>
impl<I> StructuralPartialEq for VerboseError<I>
Auto Trait Implementations§
impl<I> Freeze for VerboseError<I>
impl<I> RefUnwindSafe for VerboseError<I>where
I: RefUnwindSafe,
impl<I> Send for VerboseError<I>where
I: Send,
impl<I> Sync for VerboseError<I>where
I: Sync,
impl<I> Unpin for VerboseError<I>where
I: Unpin,
impl<I> UnwindSafe for VerboseError<I>where
I: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes