Struct chumsky::error::Simple

source ·
pub struct Simple<I: Hash + Eq, S = Range<usize>> { /* private fields */ }
Expand description

A simple default error type that tracks error spans, expected inputs, and the actual input found at an error site.

Please note that it uses a HashSet to remember expected symbols. If you find this to be too slow, you can implement Error for your own error type or use Cheap instead.

Implementations§

Create an error with a custom error message.

Returns the span that the error occurred at.

Returns an iterator over possible expected patterns.

Returns the input, if any, that was found instead of an expected pattern.

Returns the reason for the error.

Returns the error’s label, if any.

Map the error’s inputs using the given function.

This can be used to unify the errors between parsing stages that operate upon two forms of input (for example, the initial lexing stage and the parsing stage in most compilers).

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The type of spans to be used in the error.
The label used to describe a syntactic structure currently being parsed. Read more
Create a new error describing a conflict between expected inputs and that which was actually found. Read more
Create a new error describing a delimiter that was not correctly closed. Read more
Indicate that the error occurred while parsing a particular syntactic structure. Read more
Merge two errors that point to the same input together, combining their information.
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
The number of items that this chain link consists of.
Append the elements in this link to the chain.
An iterator over the items within this container, by value.
Iterate over the elements of the container (using internal iteration because GATs are unstable).

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to provide by using demand. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.