#[non_exhaustive]pub enum Expectation<T> {
Tag(T),
Char(char),
Alpha,
Digit,
HexDigit,
OctDigit,
AlphaNumeric,
Space,
Multispace,
CrLf,
Eof,
Something,
}
Expand description
Enum for generic things that can be expected by nom parsers
Certain nom parsers (think digit1
, tag
, or space1
) are “base
level” in the sense that, rather than combining subparsers, they scan for a
specific character or specific kind of character. This enum tracks the
different kinds of things that can be expected by these base parses.
Printing an expectation via Display
will only include the thing that
was expected, in a form suitable for being prefixed with “expected” or
suffixed with “was expected”.
This enum is non-exhaustive; it is intended to represent everything parse
errors where we know specifically what was expected. For instance,
take_while
cannot create an Expectation
, because it can’t
meaningfully report what its subparser is expecting.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Tag(T)
A tag was expected.
Char(char)
A specific character was expected.
Alpha
An ASCII letter ([a-zA-Z]
) was expected.
Digit
A decimal digit ([0-9]
) was expected.
HexDigit
A hexadecimal digit ([0-9a-fA-F]
) was expected.
OctDigit
An octal digit ([0-7]
) was expected.
AlphaNumeric
An alphanumeric character ([0-9a-zA-Z]
) was expected.
Space
A space or tab was expected.
Multispace
A space, tab, newline, or carriage return was expected.
CrLf
"\r\n"
was expected.
Eof
Eof was expected.
Something
Expected something; ie, not Eof.
Trait Implementations§
Source§impl<T: Clone> Clone for Expectation<T>
impl<T: Clone> Clone for Expectation<T>
Source§fn clone(&self) -> Expectation<T>
fn clone(&self) -> Expectation<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more