pub trait ParserError<I: Stream>: Sized {
// Required methods
fn from_error_kind(input: &I, kind: ErrorKind) -> Self;
fn append(
self,
input: &I,
token_start: &<I as Stream>::Checkpoint,
kind: ErrorKind,
) -> Self;
// Provided methods
fn assert(input: &I, _message: &'static str) -> Self
where I: Debug { ... }
fn or(self, other: Self) -> Self { ... }
}
Expand description
The basic Parser
trait for errors
It provides methods to create an error from some combinators,
and combine existing errors in combinators like alt
.
Required Methods§
Sourcefn 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
Sourcefn append(
self,
input: &I,
token_start: &<I as Stream>::Checkpoint,
kind: ErrorKind,
) -> Self
fn append( self, input: &I, token_start: &<I as Stream>::Checkpoint, kind: ErrorKind, ) -> Self
Like ParserError::from_error_kind
but merges it with the existing error.
This is useful when backtracking through a parse tree, accumulating error context on the way.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<I: Stream> ParserError<I> for ()
impl<I: Stream> ParserError<I> for ()
Implementors§
impl<I, C> ParserError<I> for TreeError<I, C>
Available on crate feature
std
only.