Coverage Report

Created: 2026-11-12 06:59

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.3/src/sequence/mod.rs
Line
Count
Source
1
//! Combinators applying parsers in sequence
2
3
#[cfg(test)]
4
mod tests;
5
6
use crate::error::ParseError;
7
use crate::internal::{IResult, Parser};
8
9
/// Gets an object from the first parser,
10
/// then gets another object from the second parser.
11
///
12
/// # Arguments
13
/// * `first` The first parser to apply.
14
/// * `second` The second parser to apply.
15
///
16
/// ```rust
17
/// # use nom::{Err, error::ErrorKind, Needed};
18
/// # use nom::Needed::Size;
19
/// use nom::sequence::pair;
20
/// use nom::bytes::complete::tag;
21
///
22
/// let mut parser = pair(tag("abc"), tag("efg"));
23
///
24
/// assert_eq!(parser("abcefg"), Ok(("", ("abc", "efg"))));
25
/// assert_eq!(parser("abcefghij"), Ok(("hij", ("abc", "efg"))));
26
/// assert_eq!(parser(""), Err(Err::Error(("", ErrorKind::Tag))));
27
/// assert_eq!(parser("123"), Err(Err::Error(("123", ErrorKind::Tag))));
28
/// ```
29
3.93k
pub fn pair<I, O1, O2, E: ParseError<I>, F, G>(
30
3.93k
  mut first: F,
31
3.93k
  mut second: G,
32
3.93k
) -> impl FnMut(I) -> IResult<I, (O1, O2), E>
33
3.93k
where
34
3.93k
  F: Parser<I, O1, E>,
35
3.93k
  G: Parser<I, O2, E>,
36
{
37
7.02M
  move |input: I| {
38
7.02M
    let (input, o1) = first.parse(input)?;
39
109k
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
Unexecuted instantiation: nom::sequence::pair::<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}::{closure#0}
nom::sequence::pair::<&[u8], suricata::quic::frames::StreamTag, u32, suricata::quic::error::QuicError, suricata::quic::frames::parse_tag, nom::number::complete::le_u32<&[u8], suricata::quic::error::QuicError>>::{closure#0}::{closure#0}
Line
Count
Source
39
21
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
nom::sequence::pair::<&[u8], &[u8], core::option::Option<(alloc::vec::Vec<&[u8]>, (char, &[u8]))>, nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::combinator::opt<&[u8], (alloc::vec::Vec<&[u8]>, (char, &[u8])), nom::error::Error<&[u8]>, nom::multi::many_till<&[u8], &[u8], (char, &[u8]), nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::sequence::pair<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
39
286
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
Unexecuted instantiation: nom::sequence::pair::<_, _, _, _, _, _>::{closure#0}::{closure#0}
nom::sequence::pair::<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}::{closure#0}
Line
Count
Source
39
103
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
nom::sequence::pair::<&[u8], &[u8], core::option::Option<(alloc::vec::Vec<&[u8]>, (char, &[u8]))>, nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::combinator::opt<&[u8], (alloc::vec::Vec<&[u8]>, (char, &[u8])), nom::error::Error<&[u8]>, nom::multi::many_till<&[u8], &[u8], (char, &[u8]), nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::sequence::pair<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
39
1.65k
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
Unexecuted instantiation: nom::sequence::pair::<_, _, _, _, _, _>::{closure#0}::{closure#0}
nom::sequence::pair::<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}::{closure#0}
Line
Count
Source
39
674
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
7.02M
  }
Unexecuted instantiation: nom::sequence::pair::<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}
nom::sequence::pair::<&[u8], suricata::quic::frames::StreamTag, u32, suricata::quic::error::QuicError, suricata::quic::frames::parse_tag, nom::number::complete::le_u32<&[u8], suricata::quic::error::QuicError>>::{closure#0}
Line
Count
Source
37
28
  move |input: I| {
38
28
    let (input, o1) = first.parse(input)?;
39
21
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
28
  }
nom::sequence::pair::<&[u8], &[u8], core::option::Option<(alloc::vec::Vec<&[u8]>, (char, &[u8]))>, nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::combinator::opt<&[u8], (alloc::vec::Vec<&[u8]>, (char, &[u8])), nom::error::Error<&[u8]>, nom::multi::many_till<&[u8], &[u8], (char, &[u8]), nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::sequence::pair<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}
Line
Count
Source
37
290
  move |input: I| {
38
290
    let (input, o1) = first.parse(input)?;
39
286
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
290
  }
Unexecuted instantiation: nom::sequence::pair::<_, _, _, _, _, _>::{closure#0}
nom::sequence::pair::<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Line
Count
Source
37
2.64M
  move |input: I| {
38
2.64M
    let (input, o1) = first.parse(input)?;
39
104k
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
2.64M
  }
nom::sequence::pair::<&[u8], &[u8], core::option::Option<(alloc::vec::Vec<&[u8]>, (char, &[u8]))>, nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::combinator::opt<&[u8], (alloc::vec::Vec<&[u8]>, (char, &[u8])), nom::error::Error<&[u8]>, nom::multi::many_till<&[u8], &[u8], (char, &[u8]), nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::sequence::pair<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}
Line
Count
Source
37
1.66k
  move |input: I| {
38
1.66k
    let (input, o1) = first.parse(input)?;
39
1.65k
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
1.66k
  }
Unexecuted instantiation: nom::sequence::pair::<_, _, _, _, _, _>::{closure#0}
nom::sequence::pair::<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Line
Count
Source
37
4.37M
  move |input: I| {
38
4.37M
    let (input, o1) = first.parse(input)?;
39
2.60k
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
4.37M
  }
41
3.93k
}
nom::sequence::pair::<&[u8], suricata::quic::frames::StreamTag, u32, suricata::quic::error::QuicError, suricata::quic::frames::parse_tag, nom::number::complete::le_u32<&[u8], suricata::quic::error::QuicError>>
Line
Count
Source
29
28
pub fn pair<I, O1, O2, E: ParseError<I>, F, G>(
30
28
  mut first: F,
31
28
  mut second: G,
32
28
) -> impl FnMut(I) -> IResult<I, (O1, O2), E>
33
28
where
34
28
  F: Parser<I, O1, E>,
35
28
  G: Parser<I, O2, E>,
36
{
37
  move |input: I| {
38
    let (input, o1) = first.parse(input)?;
39
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
  }
41
28
}
Unexecuted instantiation: nom::sequence::pair::<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>
nom::sequence::pair::<&[u8], &[u8], core::option::Option<(alloc::vec::Vec<&[u8]>, (char, &[u8]))>, nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::combinator::opt<&[u8], (alloc::vec::Vec<&[u8]>, (char, &[u8])), nom::error::Error<&[u8]>, nom::multi::many_till<&[u8], &[u8], (char, &[u8]), nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::sequence::pair<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}>::{closure#0}>::{closure#0}>
Line
Count
Source
29
290
pub fn pair<I, O1, O2, E: ParseError<I>, F, G>(
30
290
  mut first: F,
31
290
  mut second: G,
32
290
) -> impl FnMut(I) -> IResult<I, (O1, O2), E>
33
290
where
34
290
  F: Parser<I, O1, E>,
35
290
  G: Parser<I, O2, E>,
36
{
37
  move |input: I| {
38
    let (input, o1) = first.parse(input)?;
39
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
  }
41
290
}
nom::sequence::pair::<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>
Line
Count
Source
29
290
pub fn pair<I, O1, O2, E: ParseError<I>, F, G>(
30
290
  mut first: F,
31
290
  mut second: G,
32
290
) -> impl FnMut(I) -> IResult<I, (O1, O2), E>
33
290
where
34
290
  F: Parser<I, O1, E>,
35
290
  G: Parser<I, O2, E>,
36
{
37
  move |input: I| {
38
    let (input, o1) = first.parse(input)?;
39
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
  }
41
290
}
Unexecuted instantiation: nom::sequence::pair::<_, _, _, _, _, _>
nom::sequence::pair::<&[u8], &[u8], core::option::Option<(alloc::vec::Vec<&[u8]>, (char, &[u8]))>, nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::combinator::opt<&[u8], (alloc::vec::Vec<&[u8]>, (char, &[u8])), nom::error::Error<&[u8]>, nom::multi::many_till<&[u8], &[u8], (char, &[u8]), nom::error::Error<&[u8]>, nom::sequence::terminated<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, nom::sequence::pair<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}>::{closure#0}>::{closure#0}>
Line
Count
Source
29
1.66k
pub fn pair<I, O1, O2, E: ParseError<I>, F, G>(
30
1.66k
  mut first: F,
31
1.66k
  mut second: G,
32
1.66k
) -> impl FnMut(I) -> IResult<I, (O1, O2), E>
33
1.66k
where
34
1.66k
  F: Parser<I, O1, E>,
35
1.66k
  G: Parser<I, O2, E>,
36
{
37
  move |input: I| {
38
    let (input, o1) = first.parse(input)?;
39
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
  }
41
1.66k
}
nom::sequence::pair::<&[u8], char, &[u8], nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>
Line
Count
Source
29
1.66k
pub fn pair<I, O1, O2, E: ParseError<I>, F, G>(
30
1.66k
  mut first: F,
31
1.66k
  mut second: G,
32
1.66k
) -> impl FnMut(I) -> IResult<I, (O1, O2), E>
33
1.66k
where
34
1.66k
  F: Parser<I, O1, E>,
35
1.66k
  G: Parser<I, O2, E>,
36
{
37
  move |input: I| {
38
    let (input, o1) = first.parse(input)?;
39
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
40
  }
41
1.66k
}
Unexecuted instantiation: nom::sequence::pair::<_, _, _, _, _, _>
42
43
/// Matches an object from the first parser and discards it,
44
/// then gets an object from the second parser.
45
///
46
/// # Arguments
47
/// * `first` The opening parser.
48
/// * `second` The second parser to get object.
49
///
50
/// ```rust
51
/// # use nom::{Err, error::ErrorKind, Needed};
52
/// # use nom::Needed::Size;
53
/// use nom::sequence::preceded;
54
/// use nom::bytes::complete::tag;
55
///
56
/// let mut parser = preceded(tag("abc"), tag("efg"));
57
///
58
/// assert_eq!(parser("abcefg"), Ok(("", "efg")));
59
/// assert_eq!(parser("abcefghij"), Ok(("hij", "efg")));
60
/// assert_eq!(parser(""), Err(Err::Error(("", ErrorKind::Tag))));
61
/// assert_eq!(parser("123"), Err(Err::Error(("123", ErrorKind::Tag))));
62
/// ```
63
298k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
298k
  mut first: F,
65
298k
  mut second: G,
66
298k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
298k
where
68
298k
  F: Parser<I, O1, E>,
69
298k
  G: Parser<I, O2, E>,
70
{
71
7.42M
  move |input: I| {
72
7.42M
    let (input, _) = first.parse(input)?;
73
7.42M
    second.parse(input)
74
7.42M
  }
nom::sequence::preceded::<&[u8], &[u8], &str, nom::error::Error<&[u8]>, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while_m_n<suricata::sdp::parser::parse_media_description::{closure#4}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}
Line
Count
Source
71
42
  move |input: I| {
72
42
    let (input, _) = first.parse(input)?;
73
35
    second.parse(input)
74
42
  }
nom::sequence::preceded::<&[u8], &[u8], &str, nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}
Line
Count
Source
71
31
  move |input: I| {
72
31
    let (input, _) = first.parse(input)?;
73
3
    second.parse(input)
74
31
  }
nom::sequence::preceded::<&[u8], &[u8], (&str, &[u8], &str, &[u8], &str, &[u8], &str), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, &[u8], &str, &[u8], &str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0})>::{closure#0}>::{closure#0}
Line
Count
Source
71
16
  move |input: I| {
72
16
    let (input, _) = first.parse(input)?;
73
2
    second.parse(input)
74
16
  }
nom::sequence::preceded::<&[u8], &[u8], (&str, &[u8], &str), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0})>::{closure#0}>::{closure#0}
Line
Count
Source
71
16
  move |input: I| {
72
16
    let (input, _) = first.parse(input)?;
73
8
    second.parse(input)
74
16
  }
nom::sequence::preceded::<&[u8], &[u8], (&str, core::option::Option<&str>, &[u8]), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, core::option::Option<&str>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<nom::character::is_alphabetic, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::combinator::opt<&[u8], &str, nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}>::{closure#0}
Line
Count
Source
71
64
  move |input: I| {
72
64
    let (input, _) = first.parse(input)?;
73
50
    second.parse(input)
74
64
  }
nom::sequence::preceded::<&[u8], &[u8], (&str, char, &str, &[u8]), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, char, &str, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}>::{closure#0}
Line
Count
Source
71
16
  move |input: I| {
72
16
    let (input, _) = first.parse(input)?;
73
1
    second.parse(input)
74
16
  }
nom::sequence::preceded::<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while_m_n<suricata::sdp::parser::parse_media_description::{closure#2}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}
Line
Count
Source
71
7
  move |input: I| {
72
7
    let (input, _) = first.parse(input)?;
73
0
    second.parse(input)
74
7
  }
nom::sequence::preceded::<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}
Line
Count
Source
71
50
  move |input: I| {
72
50
    let (input, _) = first.parse(input)?;
73
42
    second.parse(input)
74
50
  }
nom::sequence::preceded::<&[u8], char, u8, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata::sdp::parser::parse_num>::{closure#0}
Line
Count
Source
71
16
  move |input: I| {
72
16
    let (input, _) = first.parse(input)?;
73
0
    second.parse(input)
74
16
  }
Unexecuted instantiation: nom::sequence::preceded::<&[u8], u8, u8, nom::error::Error<&[u8]>, nom::combinator::verify<&[u8], u8, u8, nom::error::Error<&[u8]>, nom::combinator::peek<&[u8], u8, nom::error::Error<&[u8]>, nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, suricata::sdp::parser::parse_num::{closure#0}>::{closure#0}, nom::character::complete::u8<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Unexecuted instantiation: nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, &str, str, nom::error::Error<&str>, nom::character::complete::not_line_ending<&str, nom::error::Error<&str>>, suricata::conf::get_memval::{closure#0}>::{closure#0}>::{closure#0}
nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}>::{closure#0}
Line
Count
Source
71
11.6k
  move |input: I| {
72
11.6k
    let (input, _) = first.parse(input)?;
73
11.6k
    second.parse(input)
74
11.6k
  }
nom::sequence::preceded::<&str, &str, &str, suricata::detect::error::RuleParseError<&str>, nom::character::complete::multispace0<&str, suricata::detect::error::RuleParseError<&str>>, nom::bytes::complete::is_not<&str, &str, suricata::detect::error::RuleParseError<&str>>::{closure#0}>::{closure#0}
Line
Count
Source
71
180k
  move |input: I| {
72
180k
    let (input, _) = first.parse(input)?;
73
180k
    second.parse(input)
74
180k
  }
Unexecuted instantiation: nom::sequence::preceded::<&str, &str, f64, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::number::complete::double<&str, nom::error::Error<&str>>>::{closure#0}
nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::bytes::complete::take_while<suricata::detect::requires::parse_key_value::{closure#0}, &str, nom::error::Error<&str>>::{closure#0}>::{closure#0}
Line
Count
Source
71
39.9k
  move |input: I| {
72
39.9k
    let (input, _) = first.parse(input)?;
73
39.9k
    second.parse(input)
74
39.9k
  }
nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::bytes::complete::take_till<suricata::detect::requires::parse_key_value::{closure#1}, &str, nom::error::Error<&str>>::{closure#0}>::{closure#0}
Line
Count
Source
71
39.9k
  move |input: I| {
72
39.9k
    let (input, _) = first.parse(input)?;
73
39.9k
    second.parse(input)
74
39.9k
  }
nom::sequence::preceded::<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::branch::alt<&str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, (nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#0}>::{closure#0}, nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#1}>::{closure#0}, nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#2}>::{closure#0}, nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#3}>::{closure#0})>::{closure#0}>::{closure#0}
Line
Count
Source
71
32.9k
  move |input: I| {
72
32.9k
    let (input, _) = first.parse(input)?;
73
32.9k
    second.parse(input)
74
32.9k
  }
nom::sequence::preceded::<&str, &str, u8, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, suricata::detect::requires::parse_next_version_part>::{closure#0}
Line
Count
Source
71
44.0k
  move |input: I| {
72
44.0k
    let (input, _) = first.parse(input)?;
73
44.0k
    second.parse(input)
74
44.0k
  }
nom::sequence::preceded::<&str, char, u8, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_next_version_part>::{closure#0}
Line
Count
Source
71
61.5k
  move |input: I| {
72
61.5k
    let (input, _) = first.parse(input)?;
73
61.2k
    second.parse(input)
74
61.5k
  }
Unexecuted instantiation: nom::sequence::preceded::<_, _, _, _, _, _>::{closure#0}
nom::sequence::preceded::<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}
Line
Count
Source
71
2.64M
  move |input: I| {
72
2.64M
    let (input, _) = first.parse(input)?;
73
2.64M
    second.parse(input)
74
2.64M
  }
Unexecuted instantiation: nom::sequence::preceded::<_, _, _, _, _, _>::{closure#0}
nom::sequence::preceded::<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}
Line
Count
Source
71
4.37M
  move |input: I| {
72
4.37M
    let (input, _) = first.parse(input)?;
73
4.37M
    second.parse(input)
74
4.37M
  }
75
298k
}
nom::sequence::preceded::<&[u8], &[u8], &str, nom::error::Error<&[u8]>, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while_m_n<suricata::sdp::parser::parse_media_description::{closure#4}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>
Line
Count
Source
63
7
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
7
  mut first: F,
65
7
  mut second: G,
66
7
) -> impl FnMut(I) -> IResult<I, O2, E>
67
7
where
68
7
  F: Parser<I, O1, E>,
69
7
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
7
}
nom::sequence::preceded::<&[u8], &[u8], &str, nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>
Line
Count
Source
63
31
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
31
  mut first: F,
65
31
  mut second: G,
66
31
) -> impl FnMut(I) -> IResult<I, O2, E>
67
31
where
68
31
  F: Parser<I, O1, E>,
69
31
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
31
}
nom::sequence::preceded::<&[u8], &[u8], (&str, &[u8], &str, &[u8], &str, &[u8], &str), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, &[u8], &str, &[u8], &str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0})>::{closure#0}>
Line
Count
Source
63
16
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
16
  mut first: F,
65
16
  mut second: G,
66
16
) -> impl FnMut(I) -> IResult<I, O2, E>
67
16
where
68
16
  F: Parser<I, O1, E>,
69
16
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
16
}
nom::sequence::preceded::<&[u8], &[u8], (&str, &[u8], &str), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0})>::{closure#0}>
Line
Count
Source
63
16
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
16
  mut first: F,
65
16
  mut second: G,
66
16
) -> impl FnMut(I) -> IResult<I, O2, E>
67
16
where
68
16
  F: Parser<I, O1, E>,
69
16
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
16
}
nom::sequence::preceded::<&[u8], &[u8], (&str, core::option::Option<&str>, &[u8]), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, core::option::Option<&str>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<nom::character::is_alphabetic, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::combinator::opt<&[u8], &str, nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}>
Line
Count
Source
63
15
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
15
  mut first: F,
65
15
  mut second: G,
66
15
) -> impl FnMut(I) -> IResult<I, O2, E>
67
15
where
68
15
  F: Parser<I, O1, E>,
69
15
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
15
}
nom::sequence::preceded::<&[u8], &[u8], (&str, char, &str, &[u8]), nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::sequence::tuple<&[u8], (&str, char, &str, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}>
Line
Count
Source
63
15
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
15
  mut first: F,
65
15
  mut second: G,
66
15
) -> impl FnMut(I) -> IResult<I, O2, E>
67
15
where
68
15
  F: Parser<I, O1, E>,
69
15
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
15
}
nom::sequence::preceded::<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while_m_n<suricata::sdp::parser::parse_media_description::{closure#2}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>
Line
Count
Source
63
7
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
7
  mut first: F,
65
7
  mut second: G,
66
7
) -> impl FnMut(I) -> IResult<I, O2, E>
67
7
where
68
7
  F: Parser<I, O1, E>,
69
7
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
7
}
nom::sequence::preceded::<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>
Line
Count
Source
63
15
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
15
  mut first: F,
65
15
  mut second: G,
66
15
) -> impl FnMut(I) -> IResult<I, O2, E>
67
15
where
68
15
  F: Parser<I, O1, E>,
69
15
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
15
}
nom::sequence::preceded::<&[u8], char, u8, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata::sdp::parser::parse_num>
Line
Count
Source
63
16
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
16
  mut first: F,
65
16
  mut second: G,
66
16
) -> impl FnMut(I) -> IResult<I, O2, E>
67
16
where
68
16
  F: Parser<I, O1, E>,
69
16
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
16
}
Unexecuted instantiation: nom::sequence::preceded::<&[u8], u8, u8, nom::error::Error<&[u8]>, nom::combinator::verify<&[u8], u8, u8, nom::error::Error<&[u8]>, nom::combinator::peek<&[u8], u8, nom::error::Error<&[u8]>, nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>>::{closure#0}, suricata::sdp::parser::parse_num::{closure#0}>::{closure#0}, nom::character::complete::u8<&[u8], nom::error::Error<&[u8]>>>
nom::sequence::preceded::<&str, &str, &str, suricata::detect::error::RuleParseError<&str>, nom::character::complete::multispace0<&str, suricata::detect::error::RuleParseError<&str>>, nom::bytes::complete::is_not<&str, &str, suricata::detect::error::RuleParseError<&str>>::{closure#0}>
Line
Count
Source
63
70.1k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
70.1k
  mut first: F,
65
70.1k
  mut second: G,
66
70.1k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
70.1k
where
68
70.1k
  F: Parser<I, O1, E>,
69
70.1k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
70.1k
}
Unexecuted instantiation: nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, &str, str, nom::error::Error<&str>, nom::character::complete::not_line_ending<&str, nom::error::Error<&str>>, suricata::conf::get_memval::{closure#0}>::{closure#0}>
Unexecuted instantiation: nom::sequence::preceded::<&str, &str, f64, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::number::complete::double<&str, nom::error::Error<&str>>>
nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::bytes::complete::take_while<suricata::detect::requires::parse_key_value::{closure#0}, &str, nom::error::Error<&str>>::{closure#0}>
Line
Count
Source
63
39.9k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
39.9k
  mut first: F,
65
39.9k
  mut second: G,
66
39.9k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
39.9k
where
68
39.9k
  F: Parser<I, O1, E>,
69
39.9k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
39.9k
}
nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}>
Line
Count
Source
63
7.43k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
7.43k
  mut first: F,
65
7.43k
  mut second: G,
66
7.43k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
7.43k
where
68
7.43k
  F: Parser<I, O1, E>,
69
7.43k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
7.43k
}
nom::sequence::preceded::<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::bytes::complete::take_till<suricata::detect::requires::parse_key_value::{closure#1}, &str, nom::error::Error<&str>>::{closure#0}>
Line
Count
Source
63
39.9k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
39.9k
  mut first: F,
65
39.9k
  mut second: G,
66
39.9k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
39.9k
where
68
39.9k
  F: Parser<I, O1, E>,
69
39.9k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
39.9k
}
nom::sequence::preceded::<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::branch::alt<&str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, (nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#0}>::{closure#0}, nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#1}>::{closure#0}, nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#2}>::{closure#0}, nom::combinator::map<&str, &str, suricata::detect::requires::VersionCompareOp, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_op::{closure#3}>::{closure#0})>::{closure#0}>
Line
Count
Source
63
32.9k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
32.9k
  mut first: F,
65
32.9k
  mut second: G,
66
32.9k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
32.9k
where
68
32.9k
  F: Parser<I, O1, E>,
69
32.9k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
32.9k
}
nom::sequence::preceded::<&str, &str, u8, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, suricata::detect::requires::parse_next_version_part>
Line
Count
Source
63
44.0k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
44.0k
  mut first: F,
65
44.0k
  mut second: G,
66
44.0k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
44.0k
where
68
44.0k
  F: Parser<I, O1, E>,
69
44.0k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
44.0k
}
nom::sequence::preceded::<&str, char, u8, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, suricata::detect::requires::parse_next_version_part>
Line
Count
Source
63
61.5k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
61.5k
  mut first: F,
65
61.5k
  mut second: G,
66
61.5k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
61.5k
where
68
61.5k
  F: Parser<I, O1, E>,
69
61.5k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
61.5k
}
nom::sequence::preceded::<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>
Line
Count
Source
63
290
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
290
  mut first: F,
65
290
  mut second: G,
66
290
) -> impl FnMut(I) -> IResult<I, O2, E>
67
290
where
68
290
  F: Parser<I, O1, E>,
69
290
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
290
}
Unexecuted instantiation: nom::sequence::preceded::<_, _, _, _, _, _>
nom::sequence::preceded::<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>
Line
Count
Source
63
1.66k
pub fn preceded<I, O1, O2, E: ParseError<I>, F, G>(
64
1.66k
  mut first: F,
65
1.66k
  mut second: G,
66
1.66k
) -> impl FnMut(I) -> IResult<I, O2, E>
67
1.66k
where
68
1.66k
  F: Parser<I, O1, E>,
69
1.66k
  G: Parser<I, O2, E>,
70
{
71
  move |input: I| {
72
    let (input, _) = first.parse(input)?;
73
    second.parse(input)
74
  }
75
1.66k
}
Unexecuted instantiation: nom::sequence::preceded::<_, _, _, _, _, _>
76
77
/// Gets an object from the first parser,
78
/// then matches an object from the second parser and discards it.
79
///
80
/// # Arguments
81
/// * `first` The first parser to apply.
82
/// * `second` The second parser to match an object.
83
///
84
/// ```rust
85
/// # use nom::{Err, error::ErrorKind, Needed};
86
/// # use nom::Needed::Size;
87
/// use nom::sequence::terminated;
88
/// use nom::bytes::complete::tag;
89
///
90
/// let mut parser = terminated(tag("abc"), tag("efg"));
91
///
92
/// assert_eq!(parser("abcefg"), Ok(("", "abc")));
93
/// assert_eq!(parser("abcefghij"), Ok(("hij", "abc")));
94
/// assert_eq!(parser(""), Err(Err::Error(("", ErrorKind::Tag))));
95
/// assert_eq!(parser("123"), Err(Err::Error(("123", ErrorKind::Tag))));
96
/// ```
97
85.1k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
85.1k
  mut first: F,
99
85.1k
  mut second: G,
100
85.1k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
85.1k
where
102
85.1k
  F: Parser<I, O1, E>,
103
85.1k
  G: Parser<I, O2, E>,
104
{
105
7.10M
  move |input: I| {
106
7.10M
    let (input, o1) = first.parse(input)?;
107
7.08M
    second.parse(input).map(|(i, _)| (i, o1))
nom::sequence::terminated::<&[u8], alloc::vec::Vec<suricata::pgsql::parser::PgsqlParameter>, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::multi::many1<&[u8], suricata::pgsql::parser::PgsqlParameter, suricata::pgsql::parser::PgsqlParseError<&[u8]>, suricata::pgsql::parser::pgsql_parse_generic_parameter>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
107
10.1k
    second.parse(input).map(|(i, _)| (i, o1))
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::streaming::take_while<suricata::ssh::parser::is_not_lineend, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata::ssh::parser::ssh_parse_line::parser)>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
107
10.8k
    second.parse(input).map(|(i, _)| (i, o1))
Unexecuted instantiation: nom::sequence::terminated::<&[u8], &[u8], &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::bytes::streaming::take<u32, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}, nom::combinator::eof<&[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>>::{closure#0}::{closure#0}
Unexecuted instantiation: nom::sequence::terminated::<&[u8], &[u8], &[u8], (), nom::bytes::streaming::tag<&str, &[u8], ()>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], ()>::{closure#0}>::{closure#0}::{closure#0}
Unexecuted instantiation: nom::sequence::terminated::<&[u8], alloc::vec::Vec<suricata::pgsql::parser::SASLAuthenticationMechanism>, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::multi::many1<&[u8], suricata::pgsql::parser::SASLAuthenticationMechanism, suricata::pgsql::parser::PgsqlParseError<&[u8]>, suricata::pgsql::parser::parse_sasl_mechanism>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}>::{closure#0}::{closure#0}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_while1<nom::character::is_digit, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
107
1
    second.parse(input).map(|(i, _)| (i, o1))
nom::sequence::terminated::<&[u8], &[u8], core::option::Option<char>, nom::error::Error<&[u8]>, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
107
15.6k
    second.parse(input).map(|(i, _)| (i, o1))
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}::{closure#0}
Line
Count
Source
107
9.38k
    second.parse(input).map(|(i, _)| (i, o1))
Unexecuted instantiation: nom::sequence::terminated::<_, _, _, _, _, _>::{closure#0}::{closure#0}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}::{closure#0}
Line
Count
Source
107
2.64M
    second.parse(input).map(|(i, _)| (i, o1))
nom::sequence::terminated::<&[u8], &[u8], core::option::Option<char>, nom::error::Error<&[u8]>, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
107
9.20k
    second.parse(input).map(|(i, _)| (i, o1))
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}::{closure#0}
Line
Count
Source
107
8.49k
    second.parse(input).map(|(i, _)| (i, o1))
Unexecuted instantiation: nom::sequence::terminated::<_, _, _, _, _, _>::{closure#0}::{closure#0}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}::{closure#0}
Line
Count
Source
107
4.37M
    second.parse(input).map(|(i, _)| (i, o1))
108
7.10M
  }
nom::sequence::terminated::<&[u8], alloc::vec::Vec<suricata::pgsql::parser::PgsqlParameter>, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::multi::many1<&[u8], suricata::pgsql::parser::PgsqlParameter, suricata::pgsql::parser::PgsqlParseError<&[u8]>, suricata::pgsql::parser::pgsql_parse_generic_parameter>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}>::{closure#0}
Line
Count
Source
105
15.2k
  move |input: I| {
106
15.2k
    let (input, o1) = first.parse(input)?;
107
10.1k
    second.parse(input).map(|(i, _)| (i, o1))
108
15.2k
  }
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::streaming::take_while<suricata::ssh::parser::is_not_lineend, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata::ssh::parser::ssh_parse_line::parser)>::{closure#0}>::{closure#0}
Line
Count
Source
105
18.3k
  move |input: I| {
106
18.3k
    let (input, o1) = first.parse(input)?;
107
12.5k
    second.parse(input).map(|(i, _)| (i, o1))
108
18.3k
  }
Unexecuted instantiation: nom::sequence::terminated::<&[u8], &[u8], &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::bytes::streaming::take<u32, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}, nom::combinator::eof<&[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>>::{closure#0}
nom::sequence::terminated::<&[u8], &[u8], &[u8], (), nom::bytes::streaming::tag<&str, &[u8], ()>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], ()>::{closure#0}>::{closure#0}
Line
Count
Source
105
3.96k
  move |input: I| {
106
3.96k
    let (input, o1) = first.parse(input)?;
107
0
    second.parse(input).map(|(i, _)| (i, o1))
108
3.96k
  }
nom::sequence::terminated::<&[u8], alloc::vec::Vec<suricata::pgsql::parser::SASLAuthenticationMechanism>, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::multi::many1<&[u8], suricata::pgsql::parser::SASLAuthenticationMechanism, suricata::pgsql::parser::PgsqlParseError<&[u8]>, suricata::pgsql::parser::parse_sasl_mechanism>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}>::{closure#0}
Line
Count
Source
105
1.98k
  move |input: I| {
106
1.98k
    let (input, o1) = first.parse(input)?;
107
0
    second.parse(input).map(|(i, _)| (i, o1))
108
1.98k
  }
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_while1<nom::character::is_digit, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}
Line
Count
Source
105
22
  move |input: I| {
106
22
    let (input, o1) = first.parse(input)?;
107
19
    second.parse(input).map(|(i, _)| (i, o1))
108
22
  }
nom::sequence::terminated::<&[u8], &[u8], core::option::Option<char>, nom::error::Error<&[u8]>, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}
Line
Count
Source
105
15.7k
  move |input: I| {
106
15.7k
    let (input, o1) = first.parse(input)?;
107
15.6k
    second.parse(input).map(|(i, _)| (i, o1))
108
15.7k
  }
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Line
Count
Source
105
9.87k
  move |input: I| {
106
9.87k
    let (input, o1) = first.parse(input)?;
107
9.38k
    second.parse(input).map(|(i, _)| (i, o1))
108
9.87k
  }
Unexecuted instantiation: nom::sequence::terminated::<_, _, _, _, _, _>::{closure#0}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Line
Count
Source
105
2.64M
  move |input: I| {
106
2.64M
    let (input, o1) = first.parse(input)?;
107
2.64M
    second.parse(input).map(|(i, _)| (i, o1))
108
2.64M
  }
nom::sequence::terminated::<&[u8], &[u8], core::option::Option<char>, nom::error::Error<&[u8]>, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}
Line
Count
Source
105
9.22k
  move |input: I| {
106
9.22k
    let (input, o1) = first.parse(input)?;
107
9.20k
    second.parse(input).map(|(i, _)| (i, o1))
108
9.22k
  }
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Line
Count
Source
105
8.87k
  move |input: I| {
106
8.87k
    let (input, o1) = first.parse(input)?;
107
8.49k
    second.parse(input).map(|(i, _)| (i, o1))
108
8.87k
  }
Unexecuted instantiation: nom::sequence::terminated::<_, _, _, _, _, _>::{closure#0}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Line
Count
Source
105
4.37M
  move |input: I| {
106
4.37M
    let (input, o1) = first.parse(input)?;
107
4.37M
    second.parse(input).map(|(i, _)| (i, o1))
108
4.37M
  }
109
85.1k
}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::streaming::take_while<suricata::ssh::parser::is_not_lineend, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata::ssh::parser::ssh_parse_line::parser)>::{closure#0}>
Line
Count
Source
97
18.3k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
18.3k
  mut first: F,
99
18.3k
  mut second: G,
100
18.3k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
18.3k
where
102
18.3k
  F: Parser<I, O1, E>,
103
18.3k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
18.3k
}
Unexecuted instantiation: nom::sequence::terminated::<&[u8], &[u8], &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::bytes::streaming::take<u32, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}, nom::combinator::eof<&[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>>
nom::sequence::terminated::<&[u8], &[u8], &[u8], (), nom::bytes::streaming::tag<&str, &[u8], ()>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], ()>::{closure#0}>
Line
Count
Source
97
3.96k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
3.96k
  mut first: F,
99
3.96k
  mut second: G,
100
3.96k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
3.96k
where
102
3.96k
  F: Parser<I, O1, E>,
103
3.96k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
3.96k
}
nom::sequence::terminated::<&[u8], alloc::vec::Vec<suricata::pgsql::parser::PgsqlParameter>, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::multi::many1<&[u8], suricata::pgsql::parser::PgsqlParameter, suricata::pgsql::parser::PgsqlParseError<&[u8]>, suricata::pgsql::parser::pgsql_parse_generic_parameter>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}>
Line
Count
Source
97
15.2k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
15.2k
  mut first: F,
99
15.2k
  mut second: G,
100
15.2k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
15.2k
where
102
15.2k
  F: Parser<I, O1, E>,
103
15.2k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
15.2k
}
nom::sequence::terminated::<&[u8], alloc::vec::Vec<suricata::pgsql::parser::SASLAuthenticationMechanism>, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>, nom::multi::many1<&[u8], suricata::pgsql::parser::SASLAuthenticationMechanism, suricata::pgsql::parser::PgsqlParseError<&[u8]>, suricata::pgsql::parser::parse_sasl_mechanism>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], suricata::pgsql::parser::PgsqlParseError<&[u8]>>::{closure#0}>
Line
Count
Source
97
1.98k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
1.98k
  mut first: F,
99
1.98k
  mut second: G,
100
1.98k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
1.98k
where
102
1.98k
  F: Parser<I, O1, E>,
103
1.98k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
1.98k
}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_while1<nom::character::is_digit, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>
Line
Count
Source
97
22
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
22
  mut first: F,
99
22
  mut second: G,
100
22
) -> impl FnMut(I) -> IResult<I, O1, E>
101
22
where
102
22
  F: Parser<I, O1, E>,
103
22
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
22
}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>
Line
Count
Source
97
290
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
290
  mut first: F,
99
290
  mut second: G,
100
290
) -> impl FnMut(I) -> IResult<I, O1, E>
101
290
where
102
290
  F: Parser<I, O1, E>,
103
290
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
290
}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>
Line
Count
Source
97
9.87k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
9.87k
  mut first: F,
99
9.87k
  mut second: G,
100
9.87k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
9.87k
where
102
9.87k
  F: Parser<I, O1, E>,
103
9.87k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
9.87k
}
nom::sequence::terminated::<&[u8], &[u8], core::option::Option<char>, nom::error::Error<&[u8]>, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>
Line
Count
Source
97
15.7k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
15.7k
  mut first: F,
99
15.7k
  mut second: G,
100
15.7k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
15.7k
where
102
15.7k
  F: Parser<I, O1, E>,
103
15.7k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
15.7k
}
Unexecuted instantiation: nom::sequence::terminated::<_, _, _, _, _, _>
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], core::option::Option<char>, &[u8], nom::error::Error<&[u8]>, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>
Line
Count
Source
97
1.66k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
1.66k
  mut first: F,
99
1.66k
  mut second: G,
100
1.66k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
1.66k
where
102
1.66k
  F: Parser<I, O1, E>,
103
1.66k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
1.66k
}
nom::sequence::terminated::<&[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::take_until<&[u8], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::crlf<&[u8], nom::error::Error<&[u8]>>>
Line
Count
Source
97
8.87k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
8.87k
  mut first: F,
99
8.87k
  mut second: G,
100
8.87k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
8.87k
where
102
8.87k
  F: Parser<I, O1, E>,
103
8.87k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
8.87k
}
nom::sequence::terminated::<&[u8], &[u8], core::option::Option<char>, nom::error::Error<&[u8]>, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], char, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>
Line
Count
Source
97
9.22k
pub fn terminated<I, O1, O2, E: ParseError<I>, F, G>(
98
9.22k
  mut first: F,
99
9.22k
  mut second: G,
100
9.22k
) -> impl FnMut(I) -> IResult<I, O1, E>
101
9.22k
where
102
9.22k
  F: Parser<I, O1, E>,
103
9.22k
  G: Parser<I, O2, E>,
104
{
105
  move |input: I| {
106
    let (input, o1) = first.parse(input)?;
107
    second.parse(input).map(|(i, _)| (i, o1))
108
  }
109
9.22k
}
Unexecuted instantiation: nom::sequence::terminated::<_, _, _, _, _, _>
110
111
/// Gets an object from the first parser,
112
/// then matches an object from the sep_parser and discards it,
113
/// then gets another object from the second parser.
114
///
115
/// # Arguments
116
/// * `first` The first parser to apply.
117
/// * `sep` The separator parser to apply.
118
/// * `second` The second parser to apply.
119
///
120
/// ```rust
121
/// # use nom::{Err, error::ErrorKind, Needed};
122
/// # use nom::Needed::Size;
123
/// use nom::sequence::separated_pair;
124
/// use nom::bytes::complete::tag;
125
///
126
/// let mut parser = separated_pair(tag("abc"), tag("|"), tag("efg"));
127
///
128
/// assert_eq!(parser("abc|efg"), Ok(("", ("abc", "efg"))));
129
/// assert_eq!(parser("abc|efghij"), Ok(("hij", ("abc", "efg"))));
130
/// assert_eq!(parser(""), Err(Err::Error(("", ErrorKind::Tag))));
131
/// assert_eq!(parser("123"), Err(Err::Error(("123", ErrorKind::Tag))));
132
/// ```
133
9.12k
pub fn separated_pair<I, O1, O2, O3, E: ParseError<I>, F, G, H>(
134
9.12k
  mut first: F,
135
9.12k
  mut sep: G,
136
9.12k
  mut second: H,
137
9.12k
) -> impl FnMut(I) -> IResult<I, (O1, O3), E>
138
9.12k
where
139
9.12k
  F: Parser<I, O1, E>,
140
9.12k
  G: Parser<I, O2, E>,
141
9.12k
  H: Parser<I, O3, E>,
142
{
143
9.12k
  move |input: I| {
144
9.12k
    let (input, o1) = first.parse(input)?;
145
1.26k
    let (input, _) = sep.parse(input)?;
146
1.22k
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
nom::sequence::separated_pair::<&str, &str, &str, i32, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, i32, i32, nom::error::Error<&str>, suricata::asn1::parse_rules::parse_i32_number, suricata::asn1::parse_rules::asn1_parse_rule::relative_offset::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
146
657
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
nom::sequence::separated_pair::<&str, &str, &str, u32, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, suricata::asn1::parse_rules::parse_u32_number>::{closure#0}::{closure#0}
Line
Count
Source
146
388
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
nom::sequence::separated_pair::<&str, &str, &str, u16, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, suricata::asn1::parse_rules::parse_u16_number>::{closure#0}::{closure#0}
Line
Count
Source
146
7
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
Unexecuted instantiation: nom::sequence::separated_pair::<_, _, _, _, _, _, _, _>::{closure#0}::{closure#0}
Unexecuted instantiation: nom::sequence::separated_pair::<_, _, _, _, _, _, _, _>::{closure#0}::{closure#0}
147
9.12k
  }
nom::sequence::separated_pair::<&str, &str, &str, i32, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, i32, i32, nom::error::Error<&str>, suricata::asn1::parse_rules::parse_i32_number, suricata::asn1::parse_rules::asn1_parse_rule::relative_offset::{closure#0}>::{closure#0}>::{closure#0}
Line
Count
Source
143
3.04k
  move |input: I| {
144
3.04k
    let (input, o1) = first.parse(input)?;
145
790
    let (input, _) = sep.parse(input)?;
146
786
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
147
3.04k
  }
nom::sequence::separated_pair::<&str, &str, &str, u32, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, suricata::asn1::parse_rules::parse_u32_number>::{closure#0}
Line
Count
Source
143
3.04k
  move |input: I| {
144
3.04k
    let (input, o1) = first.parse(input)?;
145
461
    let (input, _) = sep.parse(input)?;
146
430
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
147
3.04k
  }
nom::sequence::separated_pair::<&str, &str, &str, u16, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, suricata::asn1::parse_rules::parse_u16_number>::{closure#0}
Line
Count
Source
143
3.04k
  move |input: I| {
144
3.04k
    let (input, o1) = first.parse(input)?;
145
11
    let (input, _) = sep.parse(input)?;
146
10
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
147
3.04k
  }
Unexecuted instantiation: nom::sequence::separated_pair::<_, _, _, _, _, _, _, _>::{closure#0}
Unexecuted instantiation: nom::sequence::separated_pair::<_, _, _, _, _, _, _, _>::{closure#0}
148
9.12k
}
nom::sequence::separated_pair::<&str, &str, &str, i32, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, i32, i32, nom::error::Error<&str>, suricata::asn1::parse_rules::parse_i32_number, suricata::asn1::parse_rules::asn1_parse_rule::relative_offset::{closure#0}>::{closure#0}>
Line
Count
Source
133
3.04k
pub fn separated_pair<I, O1, O2, O3, E: ParseError<I>, F, G, H>(
134
3.04k
  mut first: F,
135
3.04k
  mut sep: G,
136
3.04k
  mut second: H,
137
3.04k
) -> impl FnMut(I) -> IResult<I, (O1, O3), E>
138
3.04k
where
139
3.04k
  F: Parser<I, O1, E>,
140
3.04k
  G: Parser<I, O2, E>,
141
3.04k
  H: Parser<I, O3, E>,
142
{
143
  move |input: I| {
144
    let (input, o1) = first.parse(input)?;
145
    let (input, _) = sep.parse(input)?;
146
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
147
  }
148
3.04k
}
nom::sequence::separated_pair::<&str, &str, &str, u32, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, suricata::asn1::parse_rules::parse_u32_number>
Line
Count
Source
133
3.04k
pub fn separated_pair<I, O1, O2, O3, E: ParseError<I>, F, G, H>(
134
3.04k
  mut first: F,
135
3.04k
  mut sep: G,
136
3.04k
  mut second: H,
137
3.04k
) -> impl FnMut(I) -> IResult<I, (O1, O3), E>
138
3.04k
where
139
3.04k
  F: Parser<I, O1, E>,
140
3.04k
  G: Parser<I, O2, E>,
141
3.04k
  H: Parser<I, O3, E>,
142
{
143
  move |input: I| {
144
    let (input, o1) = first.parse(input)?;
145
    let (input, _) = sep.parse(input)?;
146
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
147
  }
148
3.04k
}
nom::sequence::separated_pair::<&str, &str, &str, u16, nom::error::Error<&str>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::multispace1<&str, nom::error::Error<&str>>, suricata::asn1::parse_rules::parse_u16_number>
Line
Count
Source
133
3.04k
pub fn separated_pair<I, O1, O2, O3, E: ParseError<I>, F, G, H>(
134
3.04k
  mut first: F,
135
3.04k
  mut sep: G,
136
3.04k
  mut second: H,
137
3.04k
) -> impl FnMut(I) -> IResult<I, (O1, O3), E>
138
3.04k
where
139
3.04k
  F: Parser<I, O1, E>,
140
3.04k
  G: Parser<I, O2, E>,
141
3.04k
  H: Parser<I, O3, E>,
142
{
143
  move |input: I| {
144
    let (input, o1) = first.parse(input)?;
145
    let (input, _) = sep.parse(input)?;
146
    second.parse(input).map(|(i, o2)| (i, (o1, o2)))
147
  }
148
3.04k
}
Unexecuted instantiation: nom::sequence::separated_pair::<_, _, _, _, _, _, _, _>
Unexecuted instantiation: nom::sequence::separated_pair::<_, _, _, _, _, _, _, _>
149
150
/// Matches an object from the first parser and discards it,
151
/// then gets an object from the second parser,
152
/// and finally matches an object from the third parser and discards it.
153
///
154
/// # Arguments
155
/// * `first` The first parser to apply and discard.
156
/// * `second` The second parser to apply.
157
/// * `third` The third parser to apply and discard.
158
///
159
/// ```rust
160
/// # use nom::{Err, error::ErrorKind, Needed};
161
/// # use nom::Needed::Size;
162
/// use nom::sequence::delimited;
163
/// use nom::bytes::complete::tag;
164
///
165
/// let mut parser = delimited(tag("("), tag("abc"), tag(")"));
166
///
167
/// assert_eq!(parser("(abc)"), Ok(("", "abc")));
168
/// assert_eq!(parser("(abc)def"), Ok(("def", "abc")));
169
/// assert_eq!(parser(""), Err(Err::Error(("", ErrorKind::Tag))));
170
/// assert_eq!(parser("123"), Err(Err::Error(("123", ErrorKind::Tag))));
171
/// ```
172
42.9k
pub fn delimited<I, O1, O2, O3, E: ParseError<I>, F, G, H>(
173
42.9k
  mut first: F,
174
42.9k
  mut second: G,
175
42.9k
  mut third: H,
176
42.9k
) -> impl FnMut(I) -> IResult<I, O2, E>
177
42.9k
where
178
42.9k
  F: Parser<I, O1, E>,
179
42.9k
  G: Parser<I, O2, E>,
180
42.9k
  H: Parser<I, O3, E>,
181
{
182
42.9k
  move |input: I| {
183
42.9k
    let (input, _) = first.parse(input)?;
184
42.9k
    let (input, o2) = second.parse(input)?;
185
32.0k
    third.parse(input).map(|(i, _)| (i, o2))
nom::sequence::delimited::<&[u8], &[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::character::complete::multispace0<&[u8], nom::error::Error<&[u8]>>, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::character::complete::multispace0<&[u8], nom::error::Error<&[u8]>>>::{closure#0}::{closure#0}
Line
Count
Source
185
30.9k
    third.parse(input).map(|(i, _)| (i, o2))
nom::sequence::delimited::<&[u8], &[u8], char, &[u8], nom::error::Error<&[u8]>, nom::bytes::streaming::take_while<nom::character::is_space, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::take_while<nom::character::is_space, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}::{closure#0}
Line
Count
Source
185
1.16k
    third.parse(input).map(|(i, _)| (i, o2))
Unexecuted instantiation: nom::sequence::delimited::<_, _, _, _, _, _, _, _>::{closure#0}::{closure#0}
Unexecuted instantiation: nom::sequence::delimited::<_, _, _, _, _, _, _, _>::{closure#0}::{closure#0}
186
42.9k
  }
nom::sequence::delimited::<&[u8], &[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::character::complete::multispace0<&[u8], nom::error::Error<&[u8]>>, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::character::complete::multispace0<&[u8], nom::error::Error<&[u8]>>>::{closure#0}
Line
Count
Source
182
41.7k
  move |input: I| {
183
41.7k
    let (input, _) = first.parse(input)?;
184
41.7k
    let (input, o2) = second.parse(input)?;
185
30.9k
    third.parse(input).map(|(i, _)| (i, o2))
186
41.7k
  }
nom::sequence::delimited::<&[u8], &[u8], char, &[u8], nom::error::Error<&[u8]>, nom::bytes::streaming::take_while<nom::character::is_space, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::take_while<nom::character::is_space, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}
Line
Count
Source
182
1.18k
  move |input: I| {
183
1.18k
    let (input, _) = first.parse(input)?;
184
1.18k
    let (input, o2) = second.parse(input)?;
185
1.16k
    third.parse(input).map(|(i, _)| (i, o2))
186
1.18k
  }
Unexecuted instantiation: nom::sequence::delimited::<_, _, _, _, _, _, _, _>::{closure#0}
Unexecuted instantiation: nom::sequence::delimited::<_, _, _, _, _, _, _, _>::{closure#0}
187
42.9k
}
nom::sequence::delimited::<&[u8], &[u8], &[u8], &[u8], nom::error::Error<&[u8]>, nom::character::complete::multispace0<&[u8], nom::error::Error<&[u8]>>, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::character::complete::multispace0<&[u8], nom::error::Error<&[u8]>>>
Line
Count
Source
172
41.7k
pub fn delimited<I, O1, O2, O3, E: ParseError<I>, F, G, H>(
173
41.7k
  mut first: F,
174
41.7k
  mut second: G,
175
41.7k
  mut third: H,
176
41.7k
) -> impl FnMut(I) -> IResult<I, O2, E>
177
41.7k
where
178
41.7k
  F: Parser<I, O1, E>,
179
41.7k
  G: Parser<I, O2, E>,
180
41.7k
  H: Parser<I, O3, E>,
181
{
182
  move |input: I| {
183
    let (input, _) = first.parse(input)?;
184
    let (input, o2) = second.parse(input)?;
185
    third.parse(input).map(|(i, _)| (i, o2))
186
  }
187
41.7k
}
nom::sequence::delimited::<&[u8], &[u8], char, &[u8], nom::error::Error<&[u8]>, nom::bytes::streaming::take_while<nom::character::is_space, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::take_while<nom::character::is_space, &[u8], nom::error::Error<&[u8]>>::{closure#0}>
Line
Count
Source
172
1.18k
pub fn delimited<I, O1, O2, O3, E: ParseError<I>, F, G, H>(
173
1.18k
  mut first: F,
174
1.18k
  mut second: G,
175
1.18k
  mut third: H,
176
1.18k
) -> impl FnMut(I) -> IResult<I, O2, E>
177
1.18k
where
178
1.18k
  F: Parser<I, O1, E>,
179
1.18k
  G: Parser<I, O2, E>,
180
1.18k
  H: Parser<I, O3, E>,
181
{
182
  move |input: I| {
183
    let (input, _) = first.parse(input)?;
184
    let (input, o2) = second.parse(input)?;
185
    third.parse(input).map(|(i, _)| (i, o2))
186
  }
187
1.18k
}
Unexecuted instantiation: nom::sequence::delimited::<_, _, _, _, _, _, _, _>
Unexecuted instantiation: nom::sequence::delimited::<_, _, _, _, _, _, _, _>
188
189
/// Helper trait for the tuple combinator.
190
///
191
/// This trait is implemented for tuples of parsers of up to 21 elements.
192
pub trait Tuple<I, O, E> {
193
  /// Parses the input and returns a tuple of results of each parser.
194
  fn parse(&mut self, input: I) -> IResult<I, O, E>;
195
}
196
197
impl<Input, Output, Error: ParseError<Input>, F: Parser<Input, Output, Error>>
198
  Tuple<Input, (Output,), Error> for (F,)
199
{
200
0
  fn parse(&mut self, input: Input) -> IResult<Input, (Output,), Error> {
201
0
    self.0.parse(input).map(|(i, o)| (i, (o,)))
Unexecuted instantiation: <(_,) as nom::sequence::Tuple<_, (_,), _>>::parse::{closure#0}
Unexecuted instantiation: <(_,) as nom::sequence::Tuple<_, (_,), _>>::parse::{closure#0}
202
0
  }
Unexecuted instantiation: <(_,) as nom::sequence::Tuple<_, (_,), _>>::parse
Unexecuted instantiation: <(_,) as nom::sequence::Tuple<_, (_,), _>>::parse
203
}
204
205
macro_rules! tuple_trait(
206
  ($name1:ident $ty1:ident, $name2: ident $ty2:ident, $($name:ident $ty:ident),*) => (
207
    tuple_trait!(__impl $name1 $ty1, $name2 $ty2; $($name $ty),*);
208
  );
209
  (__impl $($name:ident $ty: ident),+; $name1:ident $ty1:ident, $($name2:ident $ty2:ident),*) => (
210
    tuple_trait_impl!($($name $ty),+);
211
    tuple_trait!(__impl $($name $ty),+ , $name1 $ty1; $($name2 $ty2),*);
212
  );
213
  (__impl $($name:ident $ty: ident),+; $name1:ident $ty1:ident) => (
214
    tuple_trait_impl!($($name $ty),+);
215
    tuple_trait_impl!($($name $ty),+, $name1 $ty1);
216
  );
217
);
218
219
macro_rules! tuple_trait_impl(
220
  ($($name:ident $ty: ident),+) => (
221
    impl<
222
      Input: Clone, $($ty),+ , Error: ParseError<Input>,
223
      $($name: Parser<Input, $ty, Error>),+
224
    > Tuple<Input, ( $($ty),+ ), Error> for ( $($name),+ ) {
225
226
64.2M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
64.2M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
64.2M
      }
Unexecuted instantiation: <(nom::sequence::preceded<&str, &str, f64, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::number::complete::double<&str, nom::error::Error<&str>>>::{closure#0}, nom::sequence::preceded<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, &str, str, nom::error::Error<&str>, nom::character::complete::not_line_ending<&str, nom::error::Error<&str>>, suricata::conf::get_memval::{closure#0}>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&str, (f64, &str), nom::error::Error<&str>>>::parse
Unexecuted instantiation: <(nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::cut<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}) as nom::sequence::Tuple<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>>>::parse
Unexecuted instantiation: <(nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::opt<&str, (char, core::option::Option<&str>), nom::error::Error<&str>, nom::sequence::pair<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), nom::error::Error<&str>>>::parse
<(nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>) as nom::sequence::Tuple<&str, (&str, &str), nom::error::Error<&str>>>::parse
Line
Count
Source
226
6.32k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
6.32k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
6.32k
      }
Unexecuted instantiation: <(nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>) as nom::sequence::Tuple<&str, (char, &str), nom::error::Error<&str>>>::parse
<(nom::bytes::complete::tag_no_case<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>) as nom::sequence::Tuple<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>>>::parse
Line
Count
Source
226
3.27k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
3.27k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
3.27k
      }
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
20.2k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
20.2k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
20.2k
      }
<(nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
516
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
516
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
516
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_class_options::{closure#0}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_class_options::{closure#1}>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
80
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
80
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
80
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_indexed::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
2.98M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
2.98M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
2.98M
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_dynamic_size::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
611k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
611k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
611k
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_noindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
382k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
382k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
382k
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_incindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
310k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
310k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
310k
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_neverindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
69.5k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
69.5k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
69.5k
      }
<(suricata::detect::requires::parse_op, suricata::detect::requires::parse_version) as nom::sequence::Tuple<&str, (suricata::detect::requires::VersionCompareOp, suricata::detect::requires::SuricataVersion), nom::error::Error<&str>>>::parse
Line
Count
Source
226
32.9k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
32.9k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
32.9k
      }
Unexecuted instantiation: <(nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::branch::alt<&str, (), nom::error::Error<&str>, (nom::combinator::map<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), (), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::opt<&str, (char, core::option::Option<&str>), nom::error::Error<&str>, nom::sequence::pair<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}>::{closure#0})>::{closure#0}, nom::number::complete::recognize_float<&str, nom::error::Error<&str>>::{closure#0}>::{closure#0}, nom::combinator::map<&str, (char, &str), (), nom::error::Error<&str>, nom::sequence::tuple<&str, (char, &str), nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}, nom::number::complete::recognize_float<&str, nom::error::Error<&str>>::{closure#1}>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, (nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::cut<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0})>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&str, (core::option::Option<char>, (), core::option::Option<(char, core::option::Option<char>, &str)>), nom::error::Error<&str>>>::parse
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#0}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#1}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#2}>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
6.27k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
6.27k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
6.27k
      }
<(nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}) as nom::sequence::Tuple<&[u8], (&str, &[u8], &str), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
8
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
8
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
8
      }
<(nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<nom::character::is_alphabetic, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::combinator::opt<&[u8], &str, nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>) as nom::sequence::Tuple<&[u8], (&str, core::option::Option<&str>, &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
50
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
50
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
50
      }
<(nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::recognize<&str, (&str, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, (&str, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0}, nom::combinator::opt<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, (nom::bytes::complete::tag_no_case<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&str, (core::option::Option<&str>, &str, core::option::Option<(&str, &str)>, core::option::Option<(&str, core::option::Option<&str>, &str)>), nom::error::Error<&str>>>::parse
Line
Count
Source
226
5.88k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
5.88k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
5.88k
      }
<(nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>) as nom::sequence::Tuple<&[u8], (&str, char, &str, &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
1
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1
      }
<(nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::bitstring_overflow>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::double_overflow>::{closure#0}, nom::combinator::opt<&str, (&str, u32), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::oversize_length>::{closure#0}, nom::combinator::opt<&str, (&str, u16), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::absolute_offset>::{closure#0}, nom::combinator::opt<&str, (&str, i32), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::relative_offset>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::character::complete::multispace1<&str, nom::error::Error<&str>>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&str, (core::option::Option<&str>, core::option::Option<&str>, core::option::Option<&str>, core::option::Option<(&str, u32)>, core::option::Option<(&str, u16)>, core::option::Option<(&str, i32)>, core::option::Option<&str>), nom::error::Error<&str>>>::parse
Line
Count
Source
226
3.04k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
3.04k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
3.04k
      }
<(nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}) as nom::sequence::Tuple<&[u8], (&str, &[u8], &str, &[u8], &str, &[u8], &str), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
2
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
2
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
2
      }
<(nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
1.01M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.01M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.01M
      }
<(nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u32), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
76.0k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
76.0k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
76.0k
      }
<(nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
12.4k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
12.4k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
12.4k
      }
<(nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u32, u32, u32), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
12.4k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
12.4k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
12.4k
      }
<(nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8, u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
2.55M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
2.55M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
2.55M
      }
<(nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], suricata_htp::urlencoded::UrlParseResult, nom::error::Error<&[u8]>, (suricata_htp::urlencoded::path_decode_valid_u_encoding::{closure#0}, suricata_htp::urlencoded::path_decode_invalid_u_encoding::{closure#0}, suricata_htp::urlencoded::path_decode_percent::{closure#0}::{closure#0}, suricata_htp::urlencoded::path_decode_valid_hex::{closure#0}, suricata_htp::urlencoded::path_decode_invalid_hex::{closure#0}, suricata_htp::urlencoded::path_decode_percent::{closure#0}::{closure#1})>::{closure#0}) as nom::sequence::Tuple<&[u8], (char, suricata_htp::urlencoded::UrlParseResult), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
9.70M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
9.70M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
9.70M
      }
<(nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (char, &[u8], char), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
50.6k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
50.6k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
50.6k
      }
<(suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
43.1k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
43.1k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
43.1k
      }
<(suricata_htp::parsers::scheme::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, suricata_htp::parsers::credentials::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
155k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
155k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
155k
      }
<(nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>) as nom::sequence::Tuple<&[u8], (u8, u8), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
34.6k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
34.6k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
34.6k
      }
<(nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
2.22k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
2.22k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
2.22k
      }
Unexecuted instantiation: <(nom::bytes::complete::take_until<&str, &[u8], (&[u8], nom::error::ErrorKind)>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], (&[u8], nom::error::ErrorKind)>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), (&[u8], nom::error::ErrorKind)>>::parse
Unexecuted instantiation: <(nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
3.38M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
3.38M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
3.38M
      }
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::take_till<suricata_htp::parsers::query::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
155k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
155k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
155k
      }
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
5.80M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
5.80M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
5.80M
      }
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], &[u8], nom::error::Error<&[u8]>, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
6.30M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
6.30M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
6.30M
      }
<(nom::bytes::streaming::take_till<suricata_htp::util::take_till_eol::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
1.06M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.06M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.06M
      }
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
62.5k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
62.5k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
62.5k
      }
Unexecuted instantiation: <(nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], (), &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
43.1k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
43.1k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
43.1k
      }
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], alloc::vec::Vec<&[u8]>, &[u8], alloc::vec::Vec<&[u8]>), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
50.2k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
50.2k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
50.2k
      }
<(nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::take_while1<<suricata_htp::headers::Parser>::complete_eol_deformed::{closure#0}::{closure#1}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], core::option::Option<&[u8]>, ()), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
501k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
501k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
501k
      }
<(nom::bytes::streaming::tag<&[u8; 3], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_i32<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>) as nom::sequence::Tuple<&[u8], (&[u8], u8, i32, u8, u8), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
21.9k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
21.9k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
21.9k
      }
<(suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::take_till<suricata_htp::parsers::content_type::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
17.9k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
17.9k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
17.9k
      }
<(suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
889k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
889k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
889k
      }
<(suricata_htp::util::take_chunked_ctl_chars, nom::bytes::complete::take_while1<suricata_htp::util::is_valid_chunked_length_data::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
950
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
950
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
950
      }
<(suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space, suricata_htp::util::take_is_space) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
347k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
347k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
347k
      }
<(suricata_htp::util::nom_take_is_space, nom::bytes::complete::take_while<suricata_htp::util::hex_digits::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::nom_take_is_space) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
12.1k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
12.1k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
12.1k
      }
<(suricata_htp::util::nom_take_is_space, nom::bytes::complete::take_till<suricata_htp::util::ascii_digits::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, suricata_htp::util::nom_take_is_space) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
63.4k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
63.4k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
63.4k
      }
<(suricata_htp::util::take_is_space_or_null, suricata_htp::util::take_not_is_space, suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space, suricata_htp::util::take_ascii_whitespace::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
52.0k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
52.0k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
52.0k
      }
<(suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::take_while<suricata_htp::parsers::protocol_version::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
153k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
153k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
153k
      }
<(nom::combinator::map<&[u8], &[u8], (&[u8], u64), nom::error::Error<&[u8]>, <suricata_htp::headers::Parser>::complete_eol_regular::{closure#0}, <suricata_htp::headers::Parser>::folding::{closure#0}::{closure#0}>::{closure#0}, suricata_htp::headers::folding_lws) as nom::sequence::Tuple<&[u8], ((&[u8], u64), (&[u8], u64)), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
1.72M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.72M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.72M
      }
<(nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, <suricata_htp::headers::Parser>::value::{closure#0}) as nom::sequence::Tuple<&[u8], ((), suricata_htp::headers::Value), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
1.47M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.47M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.47M
      }
<(nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::util::take_is_space_or_null>::{closure#0}, nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], (core::option::Option<&[u8]>, &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
1.43M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.43M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.43M
      }
<(nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>, nom::bytes::streaming::take_while<suricata_htp::util::is_token, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>) as nom::sequence::Tuple<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
3.13M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
3.13M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
3.13M
      }
<(nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}) as nom::sequence::Tuple<&[u8], ((), &[u8], &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
155k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
155k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
155k
      }
<(nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (suricata_htp::parsers::ipv6::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}) as nom::sequence::Tuple<&[u8], (core::option::Option<&[u8]>, (), alloc::vec::Vec<&[u8]>, &[u8]), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
65.4k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
65.4k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
65.4k
      }
<(nom::combinator::opt<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, (suricata_htp::parsers::scheme::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, suricata_htp::parsers::credentials::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::path::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::query::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::fragment::{closure#0}>::{closure#0}) as nom::sequence::Tuple<&[u8], (core::option::Option<(&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>)>, core::option::Option<&[u8]>, core::option::Option<&[u8]>, core::option::Option<&[u8]>), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
155k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
155k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
155k
      }
Unexecuted instantiation: <(_, _) as nom::sequence::Tuple<_, (_, _), _>>::parse
Unexecuted instantiation: <(_, _, _) as nom::sequence::Tuple<_, (_, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
<(<suricata_htp::headers::Parser>::complete_eol::{closure#0}, nom::combinator::not<&[u8], (&[u8], u64), nom::error::Error<&[u8]>, suricata_htp::headers::folding_lws>::{closure#0}) as nom::sequence::Tuple<&[u8], ((&[u8], u64), ()), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
1.86M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.86M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.86M
      }
<(<suricata_htp::headers::Parser>::complete_eol::{closure#0}, suricata_htp::headers::folding_lws) as nom::sequence::Tuple<&[u8], ((&[u8], u64), (&[u8], u64)), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
4.41M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
4.41M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
4.41M
      }
<(suricata_htp::headers::token_chars, suricata_htp::headers::separator_regular) as nom::sequence::Tuple<&[u8], ((&[u8], &[u8], &[u8]), (&[u8], &[u8])), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
1.21M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.21M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.21M
      }
<(<suricata_htp::headers::Parser>::name::{closure#0}, <suricata_htp::headers::Parser>::separator::{closure#0}, <suricata_htp::headers::Parser>::value::{closure#0}) as nom::sequence::Tuple<&[u8], (suricata_htp::headers::Name, u64, suricata_htp::headers::Value), nom::error::Error<&[u8]>>>::parse
Line
Count
Source
226
2.25M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
2.25M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
2.25M
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_indexed::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
5.06M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
5.06M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
5.06M
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_dynamic_size::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
841k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
841k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
841k
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_noindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
385k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
385k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
385k
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_incindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
821k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
821k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
821k
      }
<(nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_neverindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
136k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
136k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
136k
      }
<(nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
1.93M
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
1.93M
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
1.93M
      }
<(nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}) as nom::sequence::Tuple<(&[u8], usize), (u8, u32), nom::error::Error<(&[u8], usize)>>>::parse
Line
Count
Source
226
147k
      fn parse(&mut self, input: Input) -> IResult<Input, ( $($ty),+ ), Error> {
227
147k
        tuple_trait_inner!(0, self, input, (), $($name)+)
228
229
147k
      }
Unexecuted instantiation: <(_, _) as nom::sequence::Tuple<_, (_, _), _>>::parse
Unexecuted instantiation: <(_, _, _) as nom::sequence::Tuple<_, (_, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as nom::sequence::Tuple<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse
230
    }
231
  );
232
);
233
234
macro_rules! tuple_trait_inner(
235
  ($it:tt, $self:expr, $input:expr, (), $head:ident $($id:ident)+) => ({
236
    let (i, o) = $self.$it.parse($input.clone())?;
237
238
    succ!($it, tuple_trait_inner!($self, i, ( o ), $($id)+))
239
  });
240
  ($it:tt, $self:expr, $input:expr, ($($parsed:tt)*), $head:ident $($id:ident)+) => ({
241
    let (i, o) = $self.$it.parse($input.clone())?;
242
243
    succ!($it, tuple_trait_inner!($self, i, ($($parsed)* , o), $($id)+))
244
  });
245
  ($it:tt, $self:expr, $input:expr, ($($parsed:tt)*), $head:ident) => ({
246
    let (i, o) = $self.$it.parse($input.clone())?;
247
248
    Ok((i, ($($parsed)* , o)))
249
  });
250
);
251
252
tuple_trait!(FnA A, FnB B, FnC C, FnD D, FnE E, FnF F, FnG G, FnH H, FnI I, FnJ J, FnK K, FnL L,
253
  FnM M, FnN N, FnO O, FnP P, FnQ Q, FnR R, FnS S, FnT T, FnU U);
254
255
// Special case: implement `Tuple` for `()`, the unit type.
256
// This can come up in macros which accept a variable number of arguments.
257
// Literally, `()` is an empty tuple, so it should simply parse nothing.
258
impl<I, E: ParseError<I>> Tuple<I, (), E> for () {
259
0
  fn parse(&mut self, input: I) -> IResult<I, (), E> {
260
0
    Ok((input, ()))
261
0
  }
Unexecuted instantiation: <() as nom::sequence::Tuple<_, (), _>>::parse
Unexecuted instantiation: <() as nom::sequence::Tuple<_, (), _>>::parse
262
}
263
264
///Applies a tuple of parsers one by one and returns their results as a tuple.
265
///There is a maximum of 21 parsers
266
/// ```rust
267
/// # use nom::{Err, error::ErrorKind};
268
/// use nom::sequence::tuple;
269
/// use nom::character::complete::{alpha1, digit1};
270
/// let mut parser = tuple((alpha1, digit1, alpha1));
271
///
272
/// assert_eq!(parser("abc123def"), Ok(("", ("abc", "123", "def"))));
273
/// assert_eq!(parser("123def"), Err(Err::Error(("123def", ErrorKind::Alpha))));
274
/// ```
275
64.3M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
64.3M
  mut l: List,
277
64.3M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
64.2M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&str, &[u8], &str, &[u8], &str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0})>::{closure#0}
Line
Count
Source
278
2
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0})>::{closure#0}
Line
Count
Source
278
8
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&str, core::option::Option<&str>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<nom::character::is_alphabetic, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::combinator::opt<&[u8], &str, nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}
Line
Count
Source
278
50
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&str, char, &str, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}
Line
Count
Source
278
1
  move |i: I| l.parse(i)
nom::sequence::tuple::<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}
Line
Count
Source
278
6.32k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, (nom::bytes::complete::tag_no_case<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}
Line
Count
Source
278
3.27k
  move |i: I| l.parse(i)
Unexecuted instantiation: nom::sequence::tuple::<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::opt<&str, (char, core::option::Option<&str>), nom::error::Error<&str>, nom::sequence::pair<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}>::{closure#0})>::{closure#0}
nom::sequence::tuple::<&str, (core::option::Option<&str>, &str, core::option::Option<(&str, &str)>, core::option::Option<(&str, core::option::Option<&str>, &str)>), nom::error::Error<&str>, (nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::recognize<&str, (&str, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, (&str, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0}, nom::combinator::opt<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, (nom::bytes::complete::tag_no_case<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
5.88k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&str, (core::option::Option<&str>, core::option::Option<&str>, core::option::Option<&str>, core::option::Option<(&str, u32)>, core::option::Option<(&str, u16)>, core::option::Option<(&str, i32)>, core::option::Option<&str>), nom::error::Error<&str>, (nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::bitstring_overflow>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::double_overflow>::{closure#0}, nom::combinator::opt<&str, (&str, u32), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::oversize_length>::{closure#0}, nom::combinator::opt<&str, (&str, u16), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::absolute_offset>::{closure#0}, nom::combinator::opt<&str, (&str, i32), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::relative_offset>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::character::complete::multispace1<&str, nom::error::Error<&str>>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
3.04k
  move |i: I| l.parse(i)
Unexecuted instantiation: nom::sequence::tuple::<&str, (core::option::Option<char>, (), core::option::Option<(char, core::option::Option<char>, &str)>), nom::error::Error<&str>, (nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::branch::alt<&str, (), nom::error::Error<&str>, (nom::combinator::map<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), (), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::opt<&str, (char, core::option::Option<&str>), nom::error::Error<&str>, nom::sequence::pair<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}>::{closure#0})>::{closure#0}, nom::number::complete::recognize_float<&str, nom::error::Error<&str>>::{closure#0}>::{closure#0}, nom::combinator::map<&str, (char, &str), (), nom::error::Error<&str>, nom::sequence::tuple<&str, (char, &str), nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}, nom::number::complete::recognize_float<&str, nom::error::Error<&str>>::{closure#1}>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, (nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::cut<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}
nom::sequence::tuple::<&str, (suricata::detect::requires::VersionCompareOp, suricata::detect::requires::SuricataVersion), nom::error::Error<&str>, (suricata::detect::requires::parse_op, suricata::detect::requires::parse_version)>::{closure#0}
Line
Count
Source
278
32.9k
  move |i: I| l.parse(i)
Unexecuted instantiation: nom::sequence::tuple::<&str, (char, &str), nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}
Unexecuted instantiation: nom::sequence::tuple::<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, (nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::cut<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0})>::{closure#0}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_class_options::{closure#0}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_class_options::{closure#1}>::{closure#0})>::{closure#0}
Line
Count
Source
278
80
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_indexed::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
2.98M
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_dynamic_size::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
611k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_noindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
382k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_incindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
310k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_neverindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
69.5k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
1.01M
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#0}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#1}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#2}>::{closure#0})>::{closure#0}
Line
Count
Source
278
6.27k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
12.4k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8, u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
2.55M
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u32), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
76.0k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u32, u32, u32), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
12.4k
  move |i: I| l.parse(i)
Unexecuted instantiation: nom::sequence::tuple::<&str, (f64, &str), nom::error::Error<&str>, (nom::sequence::preceded<&str, &str, f64, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::number::complete::double<&str, nom::error::Error<&str>>>::{closure#0}, nom::sequence::preceded<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, &str, str, nom::error::Error<&str>, nom::character::complete::not_line_ending<&str, nom::error::Error<&str>>, suricata::conf::get_memval::{closure#0}>::{closure#0}>::{closure#0})>::{closure#0}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
516
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
20.2k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (core::option::Option<(&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>)>, core::option::Option<&[u8]>, core::option::Option<&[u8]>, core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (nom::combinator::opt<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, (suricata_htp::parsers::scheme::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, suricata_htp::parsers::credentials::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::path::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::query::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::fragment::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
155k
  move |i: I| l.parse(i)
Unexecuted instantiation: nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Unexecuted instantiation: nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0})>::{closure#0}
Unexecuted instantiation: nom::sequence::tuple::<&[u8], (&[u8], &[u8]), (&[u8], nom::error::ErrorKind), (nom::bytes::complete::take_until<&str, &[u8], (&[u8], nom::error::ErrorKind)>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], (&[u8], nom::error::ErrorKind)>::{closure#0})>::{closure#0}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
62.5k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], alloc::vec::Vec<&[u8]>, &[u8], alloc::vec::Vec<&[u8]>), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
50.2k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], (), &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
43.1k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::take_while<suricata_htp::parsers::protocol_version::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0})>::{closure#0}
Line
Count
Source
278
153k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::nom_take_is_space, nom::bytes::complete::take_till<suricata_htp::util::ascii_digits::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, suricata_htp::util::nom_take_is_space)>::{closure#0}
Line
Count
Source
278
63.4k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::nom_take_is_space, nom::bytes::complete::take_while<suricata_htp::util::hex_digits::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::nom_take_is_space)>::{closure#0}
Line
Count
Source
278
12.1k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
2.22k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::take_till<suricata_htp::parsers::query::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
155k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
5.80M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], &[u8], nom::error::Error<&[u8]>, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
6.30M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::take_till<suricata_htp::parsers::content_type::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
17.9k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8], core::option::Option<&[u8]>, ()), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::take_while1<<suricata_htp::headers::Parser>::complete_eol_deformed::{closure#0}::{closure#1}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
501k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
43.1k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, (suricata_htp::parsers::scheme::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, suricata_htp::parsers::credentials::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}
Line
Count
Source
278
155k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (core::option::Option<&[u8]>, (), alloc::vec::Vec<&[u8]>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (suricata_htp::parsers::ipv6::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0})>::{closure#0}
Line
Count
Source
278
65.4k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (suricata_htp::headers::Name, u64, suricata_htp::headers::Value), nom::error::Error<&[u8]>, (<suricata_htp::headers::Parser>::name::{closure#0}, <suricata_htp::headers::Parser>::separator::{closure#0}, <suricata_htp::headers::Parser>::value::{closure#0})>::{closure#0}
Line
Count
Source
278
2.25M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], ((&[u8], u64), (&[u8], u64)), nom::error::Error<&[u8]>, (nom::combinator::map<&[u8], &[u8], (&[u8], u64), nom::error::Error<&[u8]>, <suricata_htp::headers::Parser>::complete_eol_regular::{closure#0}, <suricata_htp::headers::Parser>::folding::{closure#0}::{closure#0}>::{closure#0}, suricata_htp::headers::folding_lws)>::{closure#0}
Line
Count
Source
278
1.72M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], ((&[u8], u64), (&[u8], u64)), nom::error::Error<&[u8]>, (<suricata_htp::headers::Parser>::complete_eol::{closure#0}, suricata_htp::headers::folding_lws)>::{closure#0}
Line
Count
Source
278
4.41M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], ((&[u8], u64), ()), nom::error::Error<&[u8]>, (<suricata_htp::headers::Parser>::complete_eol::{closure#0}, nom::combinator::not<&[u8], (&[u8], u64), nom::error::Error<&[u8]>, suricata_htp::headers::folding_lws>::{closure#0})>::{closure#0}
Line
Count
Source
278
1.86M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (char, suricata_htp::urlencoded::UrlParseResult), nom::error::Error<&[u8]>, (nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], suricata_htp::urlencoded::UrlParseResult, nom::error::Error<&[u8]>, (suricata_htp::urlencoded::path_decode_valid_u_encoding::{closure#0}, suricata_htp::urlencoded::path_decode_invalid_u_encoding::{closure#0}, suricata_htp::urlencoded::path_decode_percent::{closure#0}::{closure#0}, suricata_htp::urlencoded::path_decode_valid_hex::{closure#0}, suricata_htp::urlencoded::path_decode_invalid_hex::{closure#0}, suricata_htp::urlencoded::path_decode_percent::{closure#0}::{closure#1})>::{closure#0})>::{closure#0}
Line
Count
Source
278
9.70M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], ((), &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
155k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::streaming::take_till<suricata_htp::util::take_till_eol::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0})>::{closure#0}
Line
Count
Source
278
1.06M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_chunked_ctl_chars, nom::bytes::complete::take_while1<suricata_htp::util::is_valid_chunked_length_data::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
950
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (core::option::Option<&[u8]>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::util::take_is_space_or_null>::{closure#0}, nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
1.43M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (char, &[u8], char), nom::error::Error<&[u8]>, (nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}
Line
Count
Source
278
50.6k
  move |i: I| l.parse(i)
Unexecuted instantiation: nom::sequence::tuple::<_, _, _, _>::{closure#0}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_is_space_or_null, suricata_htp::util::take_not_is_space, suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space, suricata_htp::util::take_ascii_whitespace::{closure#0})>::{closure#0}
Line
Count
Source
278
52.0k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space, suricata_htp::util::take_is_space)>::{closure#0}
Line
Count
Source
278
347k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space)>::{closure#0}
Line
Count
Source
278
889k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], u8, i32, u8, u8), nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&[u8; 3], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_i32<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}
Line
Count
Source
278
21.9k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (u8, u8), nom::error::Error<&[u8]>, (nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}
Line
Count
Source
278
34.6k
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>, nom::bytes::streaming::take_while<suricata_htp::util::is_token, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}
Line
Count
Source
278
3.13M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>)>::{closure#0}
Line
Count
Source
278
3.38M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], ((&[u8], &[u8], &[u8]), (&[u8], &[u8])), nom::error::Error<&[u8]>, (suricata_htp::headers::token_chars, suricata_htp::headers::separator_regular)>::{closure#0}
Line
Count
Source
278
1.21M
  move |i: I| l.parse(i)
nom::sequence::tuple::<&[u8], ((), suricata_htp::headers::Value), nom::error::Error<&[u8]>, (nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, <suricata_htp::headers::Parser>::value::{closure#0})>::{closure#0}
Line
Count
Source
278
1.47M
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_indexed::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
5.06M
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_dynamic_size::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
841k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_noindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
385k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_incindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
821k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_neverindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
136k
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
1.93M
  move |i: I| l.parse(i)
nom::sequence::tuple::<(&[u8], usize), (u8, u32), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0})>::{closure#0}
Line
Count
Source
278
147k
  move |i: I| l.parse(i)
Unexecuted instantiation: nom::sequence::tuple::<_, _, _, _>::{closure#0}
279
64.3M
}
nom::sequence::tuple::<&[u8], (&str, &[u8], &str, &[u8], &str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<suricata::sdp::parser::is_time_char, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0})>
Line
Count
Source
275
16
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
16
  mut l: List,
277
16
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
16
}
nom::sequence::tuple::<&[u8], (&str, &[u8], &str), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::space1<&[u8], nom::error::Error<&[u8]>>, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0})>
Line
Count
Source
275
16
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
16
  mut l: List,
277
16
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
16
}
nom::sequence::tuple::<&[u8], (&str, core::option::Option<&str>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_while<nom::character::is_alphabetic, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::combinator::opt<&[u8], &str, nom::error::Error<&[u8]>, nom::sequence::preceded<&[u8], char, &str, nom::error::Error<&[u8]>, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::bytes::complete::take_till<suricata::sdp::parser::is_line_ending, &[u8], nom::error::Error<&[u8]>>::{closure#0}, core::str::converts::from_utf8>::{closure#0}>::{closure#0}>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>
Line
Count
Source
275
15
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
15
  mut l: List,
277
15
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
15
}
nom::sequence::tuple::<&[u8], (&str, char, &str, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::map_res<&[u8], &[u8], &str, nom::error::Error<&[u8]>, core::str::error::Utf8Error, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, core::str::converts::from_utf8>::{closure#0}, nom::character::complete::line_ending<&[u8], nom::error::Error<&[u8]>>)>
Line
Count
Source
275
15
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
15
  mut l: List,
277
15
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
15
}
nom::sequence::tuple::<&str, (core::option::Option<&str>, core::option::Option<&str>, core::option::Option<&str>, core::option::Option<(&str, u32)>, core::option::Option<(&str, u16)>, core::option::Option<(&str, i32)>, core::option::Option<&str>), nom::error::Error<&str>, (nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::bitstring_overflow>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::double_overflow>::{closure#0}, nom::combinator::opt<&str, (&str, u32), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::oversize_length>::{closure#0}, nom::combinator::opt<&str, (&str, u16), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::absolute_offset>::{closure#0}, nom::combinator::opt<&str, (&str, i32), nom::error::Error<&str>, suricata::asn1::parse_rules::asn1_parse_rule::relative_offset>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::character::complete::multispace1<&str, nom::error::Error<&str>>, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0})>
Line
Count
Source
275
3.04k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
3.04k
  mut l: List,
277
3.04k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
3.04k
}
Unexecuted instantiation: nom::sequence::tuple::<&str, (f64, &str), nom::error::Error<&str>, (nom::sequence::preceded<&str, &str, f64, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::number::complete::double<&str, nom::error::Error<&str>>>::{closure#0}, nom::sequence::preceded<&str, &str, &str, nom::error::Error<&str>, nom::character::complete::multispace0<&str, nom::error::Error<&str>>, nom::combinator::verify<&str, &str, str, nom::error::Error<&str>, nom::character::complete::not_line_ending<&str, nom::error::Error<&str>>, suricata::conf::get_memval::{closure#0}>::{closure#0}>::{closure#0})>
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
516
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
516
  mut l: List,
277
516
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
516
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
20.2k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
20.2k
  mut l: List,
277
20.2k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
20.2k
}
nom::sequence::tuple::<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>
Line
Count
Source
275
13.2k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
13.2k
  mut l: List,
277
13.2k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
13.2k
}
nom::sequence::tuple::<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, (nom::bytes::complete::tag_no_case<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>
Line
Count
Source
275
6.64k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
6.64k
  mut l: List,
277
6.64k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
6.64k
}
Unexecuted instantiation: nom::sequence::tuple::<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::opt<&str, (char, core::option::Option<&str>), nom::error::Error<&str>, nom::sequence::pair<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}>::{closure#0})>
nom::sequence::tuple::<&str, (core::option::Option<&str>, &str, core::option::Option<(&str, &str)>, core::option::Option<(&str, core::option::Option<&str>, &str)>), nom::error::Error<&str>, (nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::recognize<&str, (&str, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, (&str, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, &str), nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0}, nom::combinator::opt<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, core::option::Option<&str>, &str), nom::error::Error<&str>, (nom::bytes::complete::tag_no_case<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::branch::alt<&str, &str, nom::error::Error<&str>, (nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0}, nom::bytes::complete::tag<&str, &str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}>::{closure#0})>
Line
Count
Source
275
6.64k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
6.64k
  mut l: List,
277
6.64k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
6.64k
}
Unexecuted instantiation: nom::sequence::tuple::<&str, (core::option::Option<char>, (), core::option::Option<(char, core::option::Option<char>, &str)>), nom::error::Error<&str>, (nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::branch::alt<&str, (), nom::error::Error<&str>, (nom::combinator::map<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), (), nom::error::Error<&str>, nom::sequence::tuple<&str, (&str, core::option::Option<(char, core::option::Option<&str>)>), nom::error::Error<&str>, (nom::character::complete::digit1<&str, nom::error::Error<&str>>, nom::combinator::opt<&str, (char, core::option::Option<&str>), nom::error::Error<&str>, nom::sequence::pair<&str, char, core::option::Option<&str>, nom::error::Error<&str>, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::combinator::opt<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0}>::{closure#0}>::{closure#0})>::{closure#0}, nom::number::complete::recognize_float<&str, nom::error::Error<&str>>::{closure#0}>::{closure#0}, nom::combinator::map<&str, (char, &str), (), nom::error::Error<&str>, nom::sequence::tuple<&str, (char, &str), nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>::{closure#0}, nom::number::complete::recognize_float<&str, nom::error::Error<&str>>::{closure#1}>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, nom::sequence::tuple<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, (nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::cut<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0})>::{closure#0}>::{closure#0})>
Unexecuted instantiation: nom::sequence::tuple::<&str, (char, &str), nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::digit1<&str, nom::error::Error<&str>>)>
Unexecuted instantiation: nom::sequence::tuple::<&str, (char, core::option::Option<char>, &str), nom::error::Error<&str>, (nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}, nom::combinator::opt<&str, char, nom::error::Error<&str>, nom::branch::alt<&str, char, nom::error::Error<&str>, (nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0}, nom::character::complete::char<&str, nom::error::Error<&str>>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::cut<&str, &str, nom::error::Error<&str>, nom::character::complete::digit1<&str, nom::error::Error<&str>>>::{closure#0})>
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_indexed::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
2.98M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
2.98M
  mut l: List,
277
2.98M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
2.98M
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_dynamic_size::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
611k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
611k
  mut l: List,
277
611k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
611k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_noindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
382k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
382k
  mut l: List,
277
382k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
382k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_incindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
310k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
310k
  mut l: List,
277
310k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
310k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_neverindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
69.5k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
69.5k
  mut l: List,
277
69.5k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
69.5k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
1.01M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.01M
  mut l: List,
277
1.01M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.01M
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8, u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
2.55M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
2.55M
  mut l: List,
277
2.55M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
2.55M
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_class_options::{closure#0}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_class_options::{closure#1}>::{closure#0})>
Line
Count
Source
275
80
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
80
  mut l: List,
277
80
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
80
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#0}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#1}>::{closure#0}, nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::rdp::parser::parse_x223_data_class_0::parser::{closure#2}>::{closure#0})>
Line
Count
Source
275
6.27k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
6.27k
  mut l: List,
277
6.27k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
6.27k
}
nom::sequence::tuple::<&str, (suricata::detect::requires::VersionCompareOp, suricata::detect::requires::SuricataVersion), nom::error::Error<&str>, (suricata::detect::requires::parse_op, suricata::detect::requires::parse_version)>
Line
Count
Source
275
7.43k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
7.43k
  mut l: List,
277
7.43k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
7.43k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
12.4k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
12.4k
  mut l: List,
277
12.4k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
12.4k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u32), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
76.0k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
76.0k
  mut l: List,
277
76.0k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
76.0k
}
nom::sequence::tuple::<(&[u8], usize), (u32, u32, u32), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
12.4k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
12.4k
  mut l: List,
277
12.4k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
12.4k
}
nom::sequence::tuple::<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>
Line
Count
Source
275
155k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
155k
  mut l: List,
277
155k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
155k
}
nom::sequence::tuple::<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, (suricata_htp::parsers::scheme::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, suricata_htp::parsers::credentials::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0})>
Line
Count
Source
275
155k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
155k
  mut l: List,
277
155k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
155k
}
nom::sequence::tuple::<&[u8], (core::option::Option<(&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>)>, core::option::Option<&[u8]>, core::option::Option<&[u8]>, core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (nom::combinator::opt<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<(&[u8], core::option::Option<&[u8]>)>, core::option::Option<(&[u8], core::option::Option<&[u8]>)>), nom::error::Error<&[u8]>, (suricata_htp::parsers::scheme::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, suricata_htp::parsers::credentials::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, nom::sequence::tuple<&[u8], (&[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (suricata_htp::parsers::hostname::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::port::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0})>::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::path::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::query::{closure#0}>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::parsers::fragment::{closure#0}>::{closure#0})>
Line
Count
Source
275
155k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
155k
  mut l: List,
277
155k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
155k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::take_while<suricata_htp::parsers::protocol_version::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0})>
Line
Count
Source
275
153k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
153k
  mut l: List,
277
153k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
153k
}
Unexecuted instantiation: nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::nom_take_is_space, nom::bytes::complete::take_while<suricata_htp::util::hex_digits::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::nom_take_is_space)>
Line
Count
Source
275
12.1k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
12.1k
  mut l: List,
277
12.1k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
12.1k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
2.22k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
2.22k
  mut l: List,
277
2.22k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
2.22k
}
Unexecuted instantiation: nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, suricata_htp::util::take_ascii_whitespace::{closure#0})>
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::take_till<suricata_htp::parsers::query::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
155k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
155k
  mut l: List,
277
155k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
155k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_ascii_whitespace::{closure#0}, nom::bytes::complete::take_till<suricata_htp::parsers::content_type::{closure#0}::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
17.9k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
17.9k
  mut l: List,
277
17.9k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
17.9k
}
Unexecuted instantiation: nom::sequence::tuple::<&[u8], (&[u8], &[u8]), (&[u8], nom::error::ErrorKind), (nom::bytes::complete::take_until<&str, &[u8], (&[u8], nom::error::ErrorKind)>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], (&[u8], nom::error::ErrorKind)>::{closure#0})>
nom::sequence::tuple::<&[u8], (&[u8], &[u8], core::option::Option<&[u8]>), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0})>
Line
Count
Source
275
62.5k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
62.5k
  mut l: List,
277
62.5k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
62.5k
}
nom::sequence::tuple::<&[u8], (&[u8], alloc::vec::Vec<&[u8]>, &[u8], alloc::vec::Vec<&[u8]>), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0})>
Line
Count
Source
275
50.2k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
50.2k
  mut l: List,
277
50.2k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
50.2k
}
nom::sequence::tuple::<&[u8], (&[u8], (), &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
43.1k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
43.1k
  mut l: List,
277
43.1k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
43.1k
}
nom::sequence::tuple::<&[u8], (core::option::Option<&[u8]>, (), alloc::vec::Vec<&[u8]>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::multi::many0<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (suricata_htp::parsers::ipv6::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0})>
Line
Count
Source
275
65.4k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
65.4k
  mut l: List,
277
65.4k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
65.4k
}
nom::sequence::tuple::<&[u8], ((), &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::combinator::peek<&[u8], (), nom::error::Error<&[u8]>, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}>::{closure#0}, nom::bytes::complete::take_until<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
155k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
155k
  mut l: List,
277
155k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
155k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::nom_take_is_space, nom::bytes::complete::take_till<suricata_htp::util::ascii_digits::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::digit1<&[u8], nom::error::Error<&[u8]>>, suricata_htp::util::nom_take_is_space)>
Line
Count
Source
275
63.4k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
63.4k
  mut l: List,
277
63.4k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
63.4k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::streaming::take_till<suricata_htp::util::take_till_eol::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0})>
Line
Count
Source
275
1.06M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.06M
  mut l: List,
277
1.06M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.06M
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_chunked_ctl_chars, nom::bytes::complete::take_while1<suricata_htp::util::is_valid_chunked_length_data::{closure#0}, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
950
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
950
  mut l: List,
277
950
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
950
}
nom::sequence::tuple::<&[u8], (core::option::Option<&[u8]>, &[u8]), nom::error::Error<&[u8]>, (nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, suricata_htp::util::take_is_space_or_null>::{closure#0}, nom::bytes::complete::tag_no_case<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
1.43M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.43M
  mut l: List,
277
1.43M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.43M
}
nom::sequence::tuple::<&[u8], (char, &[u8], char), nom::error::Error<&[u8]>, (nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::is_not<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0})>
Line
Count
Source
275
50.6k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
50.6k
  mut l: List,
277
50.6k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
50.6k
}
Unexecuted instantiation: nom::sequence::tuple::<_, _, _, _>
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_is_space_or_null, suricata_htp::util::take_not_is_space, suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space, suricata_htp::util::take_ascii_whitespace::{closure#0})>
Line
Count
Source
275
52.0k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
52.0k
  mut l: List,
277
52.0k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
52.0k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space, suricata_htp::util::take_is_space)>
Line
Count
Source
275
347k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
347k
  mut l: List,
277
347k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
347k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (suricata_htp::util::take_is_space, suricata_htp::util::take_not_is_space)>
Line
Count
Source
275
889k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
889k
  mut l: List,
277
889k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
889k
}
nom::sequence::tuple::<&[u8], (&[u8], u8, i32, u8, u8), nom::error::Error<&[u8]>, (nom::bytes::streaming::tag<&[u8; 3], &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_i32<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::streaming::le_u8<&[u8], nom::error::Error<&[u8]>>)>
Line
Count
Source
275
21.9k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
21.9k
  mut l: List,
277
21.9k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
21.9k
}
nom::sequence::tuple::<&[u8], (char, suricata_htp::urlencoded::UrlParseResult), nom::error::Error<&[u8]>, (nom::character::complete::char<&[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::branch::alt<&[u8], suricata_htp::urlencoded::UrlParseResult, nom::error::Error<&[u8]>, (suricata_htp::urlencoded::path_decode_valid_u_encoding::{closure#0}, suricata_htp::urlencoded::path_decode_invalid_u_encoding::{closure#0}, suricata_htp::urlencoded::path_decode_percent::{closure#0}::{closure#0}, suricata_htp::urlencoded::path_decode_valid_hex::{closure#0}, suricata_htp::urlencoded::path_decode_invalid_hex::{closure#0}, suricata_htp::urlencoded::path_decode_percent::{closure#0}::{closure#1})>::{closure#0})>
Line
Count
Source
275
9.70M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
9.70M
  mut l: List,
277
9.70M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
9.70M
}
nom::sequence::tuple::<&[u8], (u8, u8), nom::error::Error<&[u8]>, (nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>, nom::number::complete::be_u8<&[u8], nom::error::Error<&[u8]>>)>
Line
Count
Source
275
34.6k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
34.6k
  mut l: List,
277
34.6k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
34.6k
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], &[u8]), nom::error::Error<&[u8]>, (nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>, nom::bytes::streaming::take_while<suricata_htp::util::is_token, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>)>
Line
Count
Source
275
3.13M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
3.13M
  mut l: List,
277
3.13M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
3.13M
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::character::streaming::space0<&[u8], nom::error::Error<&[u8]>>)>
Line
Count
Source
275
3.38M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
3.38M
  mut l: List,
277
3.38M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
3.38M
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0})>
Line
Count
Source
275
5.80M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
5.80M
  mut l: List,
277
5.80M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
5.80M
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8]), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::peek<&[u8], &[u8], nom::error::Error<&[u8]>, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}>::{closure#0})>
Line
Count
Source
275
6.30M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
6.30M
  mut l: List,
277
6.30M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
6.30M
}
nom::sequence::tuple::<&[u8], (&[u8], &[u8], core::option::Option<&[u8]>, ()), nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::streaming::take_while1<<suricata_htp::headers::Parser>::complete_eol_deformed::{closure#0}::{closure#1}, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::combinator::opt<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::branch::alt<&[u8], &[u8], nom::error::Error<&[u8]>, (nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0})>::{closure#0}>::{closure#0})>
Line
Count
Source
275
501k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
501k
  mut l: List,
277
501k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
501k
}
nom::sequence::tuple::<&[u8], (suricata_htp::headers::Name, u64, suricata_htp::headers::Value), nom::error::Error<&[u8]>, (<suricata_htp::headers::Parser>::name::{closure#0}, <suricata_htp::headers::Parser>::separator::{closure#0}, <suricata_htp::headers::Parser>::value::{closure#0})>
Line
Count
Source
275
2.25M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
2.25M
  mut l: List,
277
2.25M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
2.25M
}
nom::sequence::tuple::<&[u8], ((&[u8], &[u8], &[u8]), (&[u8], &[u8])), nom::error::Error<&[u8]>, (suricata_htp::headers::token_chars, suricata_htp::headers::separator_regular)>
Line
Count
Source
275
1.21M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.21M
  mut l: List,
277
1.21M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.21M
}
nom::sequence::tuple::<&[u8], ((&[u8], u64), (&[u8], u64)), nom::error::Error<&[u8]>, (nom::combinator::map<&[u8], &[u8], (&[u8], u64), nom::error::Error<&[u8]>, <suricata_htp::headers::Parser>::complete_eol_regular::{closure#0}, <suricata_htp::headers::Parser>::folding::{closure#0}::{closure#0}>::{closure#0}, suricata_htp::headers::folding_lws)>
Line
Count
Source
275
1.72M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.72M
  mut l: List,
277
1.72M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.72M
}
nom::sequence::tuple::<&[u8], ((&[u8], u64), (&[u8], u64)), nom::error::Error<&[u8]>, (<suricata_htp::headers::Parser>::complete_eol::{closure#0}, suricata_htp::headers::folding_lws)>
Line
Count
Source
275
4.41M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
4.41M
  mut l: List,
277
4.41M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
4.41M
}
nom::sequence::tuple::<&[u8], ((&[u8], u64), ()), nom::error::Error<&[u8]>, (<suricata_htp::headers::Parser>::complete_eol::{closure#0}, nom::combinator::not<&[u8], (&[u8], u64), nom::error::Error<&[u8]>, suricata_htp::headers::folding_lws>::{closure#0})>
Line
Count
Source
275
1.86M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.86M
  mut l: List,
277
1.86M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.86M
}
nom::sequence::tuple::<&[u8], ((), suricata_htp::headers::Value), nom::error::Error<&[u8]>, (nom::combinator::not<&[u8], &[u8], nom::error::Error<&[u8]>, nom::bytes::complete::tag<&str, &[u8], nom::error::Error<&[u8]>>::{closure#0}>::{closure#0}, <suricata_htp::headers::Parser>::value::{closure#0})>
Line
Count
Source
275
1.47M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.47M
  mut l: List,
277
1.47M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.47M
}
nom::sequence::tuple::<(&[u8], usize), (u8, u32), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u32, u32, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
147k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
147k
  mut l: List,
277
147k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
147k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_indexed::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
5.06M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
5.06M
  mut l: List,
277
5.06M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
5.06M
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_dynamic_size::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
841k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
841k
  mut l: List,
277
841k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
841k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_noindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
385k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
385k
  mut l: List,
277
385k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
385k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_incindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
821k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
821k
  mut l: List,
277
821k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
821k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::combinator::verify<(&[u8], usize), u8, u8, nom::error::Error<(&[u8], usize)>, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, suricata::http2::parser::http2_parse_headers_block_literal_neverindex::parser::{closure#0}>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
136k
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
136k
  mut l: List,
277
136k
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
136k
}
nom::sequence::tuple::<(&[u8], usize), (u8, u8), nom::error::Error<(&[u8], usize)>, (nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0}, nom::bits::streaming::take<&[u8], u8, u8, nom::error::Error<(&[u8], usize)>>::{closure#0})>
Line
Count
Source
275
1.93M
pub fn tuple<I, O, E: ParseError<I>, List: Tuple<I, O, E>>(
276
1.93M
  mut l: List,
277
1.93M
) -> impl FnMut(I) -> IResult<I, O, E> {
278
  move |i: I| l.parse(i)
279
1.93M
}
Unexecuted instantiation: nom::sequence::tuple::<_, _, _, _>