pub fn not<A, I: Clone>(mut parser: impl Parser<A, I>) -> impl Parser<(), I> {
    move |input: I| match parser.parse(input.clone()) {
        Some(_) => None,
        None => Some(((), input)),
    }
}
/// Runs the given parser, fails if it succeeded, and succeeds otherwise.
Runs the given parser, fails if it succeeded, and succeeds otherwise.
Runs the given parser fails if it succeeded and succeeds otherwise .
pub fn not<A, I: Clone>(mut parser: impl Parser<A, I>) -> impl Parser<(), I> {
    move |input: I| match parser.parse(input.clone()) {
        Some(_) => None,
        None => Some(((), input)),
    }
}
pub fn not < A , I : Clone > ( mut parser : impl Parser < A , I > ) -> impl Parser < ( ) , I > { move | input : I | match parser . parse ( input . clone ( ) ) { Some ( _ ) => None , None => Some ( ( ( ) , input ) ) , } }
Runs the given parser, fails if it succeeded, and succeeds otherwise.
Runs the given parser fails if it succeeded and succeeds otherwise .
parser
impl Parser<A, I>