Macro nom::not [−][src]
macro_rules! not {
($i : expr, $submac : ident! ($($args : tt) *)) => { ... };
($i : expr, $f : expr) => { ... };
}
Expand description
not!(I -> IResult<I,O>) => I -> IResult<I, ()>
returns a result only if the embedded parser returns Error or Err(Err::Incomplete)
does not consume the input
named!(not_e, do_parse!(
res: tag!("abc") >>
not!(char!('e')) >>
(res)
));
let r = not_e(&b"abcd"[..]);
assert_eq!(r, Ok((&b"d"[..], &b"abc"[..])));
let r2 = not_e(&b"abce"[..]);
assert_eq!(r2, Err(Err::Error(error_position!(&b"e"[..], ErrorKind::Not))));