# Trait nom::error::ParseError

source · [−]

    pub trait ParseError<I>: Sized {
        fn from_error_kind(input: I, kind: ErrorKind) -> Self;
        fn append(input: I, kind: ErrorKind, other: Self) -> Self;

        fn from_char(input: I, _: char) -> Self { ... }
        fn or(self, other: Self) -> Self { ... }
    }

Expand description

This trait must be implemented by the error type of a nom parser.

There are already implementations of it for `(Input, ErrorKind)` and `VerboseError<Input>`.

It provides methods to create an error from some combinators, and combine existing errors in combinators like `alt`.

## Required Methods

source

#### 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

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

## Provided Methods

source

#### fn from_char(input: I, _: char) -> Self

Creates an error from an input position and an expected character

source

#### fn or(self, other: Self) -> Self

Combines two existing errors. This function is used to compare errors generated in various branches of `alt`.

## Implementations on Foreign Types

source

### impl<I> ParseError<I> for (I, ErrorKind)

source

#### fn from_error_kind(input: I, kind: ErrorKind) -> Self

source

#### fn append(_: I, _: ErrorKind, other: Self) -> Self

source

### impl<I> ParseError<I> for ()

source

#### fn from_error_kind(_: I, _: ErrorKind) -> Self

source

#### fn append(_: I, _: ErrorKind, _: Self) -> Self

## Implementors

source

### impl<I> ParseError<I> for Error<I>

source

### impl<I> ParseError<I> for VerboseError<I>