Function success

fn success<I, O: Clone, E: ParseError<I>>(val: O) -> impl Parser<I, Output = O, Error = E>

a parser which always succeeds with given value without consuming any input.

It can be used for example as the last alternative in alt to specify the default case.

# use nom::{Err,error::ErrorKind, IResult, Parser};
use nom::branch::alt;
use nom::combinator::{success, value};
use nom::character::complete::char;
# fn main() {

let mut parser = success::<_,_,(_,ErrorKind)>(10);
assert_eq!(parser.parse("xyz"), Ok(("xyz", 10)));

let mut sign = alt((value(-1, char('-')), value(1, char('+')), success::<_,_,(_,ErrorKind)>(1)));
assert_eq!(sign.parse("+10"), Ok(("10", 1)));
assert_eq!(sign.parse("-10"), Ok(("10", -1)));
assert_eq!(sign.parse("10"), Ok(("10", 1)));
# }