pub fn try<F: FnOnce(&mut Self) -> ParseResult<T>, T>(&mut self, f: F) -> Option<T> {
        let mut parser = self.clone();
        let result = f(&mut parser);
        if result.is_ok() {
            *self = parser;
        }
        result.ok()
    }
/// Applies `f` on the parser, committing the modified state on success,
/// and rolling back on error.
Applies `f` on the parser, committing the modified state on success,
and rolling back on error.
Applies ` f ` on the parser committing the modified state on success and rolling back on error .
pub fn try<F: FnOnce(&mut Self) -> ParseResult<T>, T>(&mut self, f: F) -> Option<T> {
        let mut parser = self.clone();
        let result = f(&mut parser);
        if result.is_ok() {
            *self = parser;
        }
        result.ok()
    }
pub fn try < F : FnOnce ( & mut Self ) -> ParseResult < T > , T > ( & mut self , f : F ) -> Option < T > { let mut parser = self . clone ( ) ; let result = f ( & mut parser ) ; if result . is_ok ( ) { * self = parser ; } result . ok ( ) }
Applies `f` on the parser, committing the modified state on success,
and rolling back on error.
Applies ` f ` on the parser committing the modified state on success and rolling back on error .
&mut self
f
F
&mut self
f
F