rustmax::nom::combinator

Function all_consuming

Source
pub fn all_consuming<I, E, F>(
    parser: F,
) -> impl Parser<I, Output = <F as Parser<I>>::Output, Error = E>
where E: ParseError<I>, I: Input, F: Parser<I, Error = E>,
Expand description

Succeeds if all the input has been consumed by its child parser.

use nom::combinator::all_consuming;
use nom::character::complete::alpha1;

let mut parser = all_consuming(alpha1);

assert_eq!(parser.parse("abcd"), Ok(("", "abcd")));
assert_eq!(parser.parse("abcd;"),Err(Err::Error((";", ErrorKind::Eof))));
assert_eq!(parser.parse("123abcd;"),Err(Err::Error(("123abcd;", ErrorKind::Alpha))));