/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>>>::parseUnexecuted 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>>>::parseUnexecuted 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>>>::parseLine | 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>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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>>>::parseLine | 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]>>>::parseLine | 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>>>::parseLine | 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]>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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)>>::parseUnexecuted 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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]>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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)>>>::parseLine | 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::<_, _, _, _> |