Function combine::parser::range::recognize

source ·
pub fn recognize<Input, P>(parser: P) -> Recognize<Input, P>
where <Input as StreamOnce>::Error: ParseError<<Input as StreamOnce>::Token, <Input as StreamOnce>::Range, <Input as StreamOnce>::Position>, Input: Stream + RangeStream, P: Parser<Input>, <Input as StreamOnce>::Range: Range,
Expand description

Zero-copy parser which returns committed input range.

combinator::recognize is a non-RangeStream alternative.

let mut parser = recognize(skip_many1(letter()));
assert_eq!(parser.parse("hello world"), Ok(("hello", " world")));
assert!(parser.parse("!").is_err());