Function glue::combinators::mappers::map_error

source ยท
pub fn map_error<'a, Res, Par, Map>(
    parser: Par,
    mapper: Map,
) -> impl Parser<'a, Res>
where Par: Parser<'a, Res>, Map: FnMut(SourceError) -> SourceError,
Expand description

Run a parser and map the error it returns on failure.

assert_eq!(
    map_error(take(1.., is(numeric)), |error| error.tag("a number")).parse("abc"),
    Err((
        ParserContext {
            input: "abc",
            bounds: 0..0,
        },
        SourceError::TaggedRanges(
            "a number".into(),
            vec![SourceError::Ranges(vec![SourceError::Range(0..0)])]
        )
    ))
);