# Function nom::error::dbg_dmp

source · [−]

    pub fn dbg_dmp<'a, F, O, E: Debug>(
        f: F,
        context: &'static str
    ) -> impl Fn(&'a [u8]) -> IResult<&'a [u8], O, E> where
        F: Fn(&'a [u8]) -> IResult<&'a [u8], O, E>,

Expand description

Prints a message and the input if the parser fails.

The message prints the `Error` or `Incomplete` and the parser’s calling code.

It also displays the input in hexdump format

    use nom::{IResult, error::dbg_dmp, bytes::complete::tag};

    fn f(i: &[u8]) -> IResult<&[u8], &[u8]> {
      dbg_dmp(tag("abcd"), "tag")(i)
    }

      let a = &b"efghijkl"[..];

    // Will print the following message:
    // Error(Position(0, [101, 102, 103, 104, 105, 106, 107, 108])) at l.5 by ' tag ! ( "abcd" ) '
    // 00000000        65 66 67 68 69 6a 6b 6c         efghijkl
    f(a);