[−][src]Struct combine::stream::easy::Errors
Struct which hold information about an error that occurred at a specific position.
Can hold multiple instances of Error
if more that one error occurred in the same position.
Fields
position: P
The position where the error occurred
errors: Vec<Error<I, R>>
A vector containing specific information on what errors occurred at position
. Usually
a fully formed message contains one Unexpected
error and one or more Expected
errors.
Message
and Other
may also appear (combine
never generates these errors on its own)
and may warrant custom handling.
Methods
impl<I, R, P> Errors<I, R, P>
[src]
pub fn new(position: P, error: Error<I, R>) -> Errors<I, R, P>
[src]
Constructs a new ParseError
which occurred at position
.
pub fn empty(position: P) -> Errors<I, R, P>
[src]
Constructs an error with no other information than the position it occurred at.
pub fn from_errors(position: P, errors: Vec<Error<I, R>>) -> Errors<I, R, P>
[src]
Constructs a ParseError
with multiple causes.
pub fn end_of_input(position: P) -> Errors<I, R, P>
[src]
Constructs an end of input error. Should be returned by parsers which encounter end of input unexpectedly.
pub fn add_error(&mut self, error: Error<I, R>) where
I: PartialEq,
R: PartialEq,
[src]
I: PartialEq,
R: PartialEq,
Adds an error if error
does not exist in this ParseError
already (as determined byte
PartialEq
).
pub fn set_expected(&mut self, info: Info<I, R>)
[src]
Removes all Expected
errors in self
and adds info
instead.
pub fn merge(self, other: Errors<I, R, P>) -> Errors<I, R, P> where
P: Ord,
I: PartialEq,
R: PartialEq,
[src]
P: Ord,
I: PartialEq,
R: PartialEq,
Merges two ParseError
s. If they exist at the same position the errors of other
are
added to self
(using add_error
to skip duplicates). If they are not at the same
position the error furthest ahead are returned, ignoring the other ParseError
.
pub fn map_position<F, Q>(self, f: F) -> Errors<I, R, Q> where
F: FnOnce(P) -> Q,
[src]
F: FnOnce(P) -> Q,
Maps the position to a new value
pub fn map_token<F, U>(self, f: F) -> Errors<U, R, P> where
F: FnMut(I) -> U,
[src]
F: FnMut(I) -> U,
Maps all token variants to a new value
pub fn map_range<F, S>(self, f: F) -> Errors<I, S, P> where
F: FnMut(R) -> S,
[src]
F: FnMut(R) -> S,
Maps all range variants to a new value.
use combine::Parser; use combine::parser::range::range; println!( "{}", range(&"HTTP"[..]) .easy_parse("HTT") .unwrap_err() .map_range(|bytes| format!("{:?}", bytes)) );
Trait Implementations
impl<Item, Range, Position> ParseError<Item, Range, Position> for Errors<Item, Range, Position> where
Item: PartialEq,
Range: PartialEq,
Position: Ord,
[src]
Item: PartialEq,
Range: PartialEq,
Position: Ord,
type StreamError = Error<Item, Range>
fn empty(pos: Position) -> Self
[src]
fn from_error(position: Position, err: Self::StreamError) -> Self
[src]
fn set_position(&mut self, position: Position)
[src]
fn merge(self, other: Self) -> Self
[src]
fn add(&mut self, err: Self::StreamError)
[src]
fn set_expected<F>(self_: &mut Tracked<Self>, info: Self::StreamError, f: F) where
F: FnOnce(&mut Tracked<Self>),
[src]
F: FnOnce(&mut Tracked<Self>),
fn clear_expected(&mut self)
[src]
fn is_unexpected_end_of_input(&self) -> bool
[src]
fn into_other<T>(self) -> T where
T: ParseError<Item, Range, Position>,
[src]
T: ParseError<Item, Range, Position>,
fn add_expected(&mut self, info: Info<Item, Range>)
[src]
fn add_unexpected(&mut self, info: Info<Item, Range>)
[src]
fn add_message(&mut self, info: Info<Item, Range>)
[src]
impl<I: PartialEq, R: PartialEq, P: PartialEq> PartialEq<Errors<I, R, P>> for Errors<I, R, P>
[src]
fn eq(&self, other: &Errors<I, R, P>) -> bool
[src]
fn ne(&self, other: &Errors<I, R, P>) -> bool
[src]
impl<I: Debug, R: Debug, P: Debug> Debug for Errors<I, R, P>
[src]
impl<I, R, P> Display for Errors<I, R, P> where
P: Display,
I: Display,
R: Display,
[src]
P: Display,
I: Display,
R: Display,
impl<I, R, P> Error for Errors<I, R, P> where
P: Display + Debug,
I: Display + Debug,
R: Display + Debug,
[src]
P: Display + Debug,
I: Display + Debug,
R: Display + Debug,
fn description(&self) -> &str
[src]
fn cause(&self) -> Option<&dyn Error>
1.0.0[src]
replaced by Error::source, which can support downcasting
The lower-level cause of this error, if any. Read more
fn source(&self) -> Option<&(dyn Error + 'static)>
1.30.0[src]
The lower-level source of this error, if any. Read more
Auto Trait Implementations
impl<I, R, P> Send for Errors<I, R, P> where
I: Send,
P: Send,
R: Send,
I: Send,
P: Send,
R: Send,
impl<I, R, P> Sync for Errors<I, R, P> where
I: Sync,
P: Sync,
R: Sync,
I: Sync,
P: Sync,
R: Sync,
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
ⓘImportant traits for &'a mut Wfn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,