Coverage Report

Created: 2024-08-22 06:13

/rust/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.18/src/parser.rs
Line
Count
Source (jump to first uncovered line)
1
//! Basic types to build the parsers
2
3
use crate::ascii::Caseless as AsciiCaseless;
4
use crate::combinator::*;
5
#[cfg(feature = "unstable-recover")]
6
#[cfg(feature = "std")]
7
use crate::error::FromRecoverableError;
8
use crate::error::{AddContext, FromExternalError, IResult, PResult, ParseError, ParserError};
9
use crate::stream::{Compare, Location, ParseSlice, Stream, StreamIsPartial};
10
#[cfg(feature = "unstable-recover")]
11
#[cfg(feature = "std")]
12
use crate::stream::{Recover, Recoverable};
13
14
/// Core trait for parsing
15
///
16
/// The simplest way to implement a `Parser` is with a function
17
/// ```rust
18
/// use winnow::prelude::*;
19
///
20
/// fn empty(input: &mut &str) -> PResult<()> {
21
///     let output = ();
22
///     Ok(output)
23
/// }
24
///
25
/// let (input, output) = empty.parse_peek("Hello").unwrap();
26
/// assert_eq!(input, "Hello");  // We didn't consume any input
27
/// ```
28
///
29
/// which can be made stateful by returning a function
30
/// ```rust
31
/// use winnow::prelude::*;
32
///
33
/// fn empty<O: Clone>(output: O) -> impl FnMut(&mut &str) -> PResult<O> {
34
///     move |input: &mut &str| {
35
///         let output = output.clone();
36
///         Ok(output)
37
///     }
38
/// }
39
///
40
/// let (input, output) = empty("World").parse_peek("Hello").unwrap();
41
/// assert_eq!(input, "Hello");  // We didn't consume any input
42
/// assert_eq!(output, "World");
43
/// ```
44
///
45
/// Additionally, some basic types implement `Parser` as well, including
46
/// - `u8` and `char`, see [`winnow::token::one_of`][crate::token::one_of]
47
/// - `&[u8]` and `&str`, see [`winnow::token::literal`][crate::token::literal]
48
pub trait Parser<I, O, E> {
49
    /// Parse all of `input`, generating `O` from it
50
    #[inline]
51
0
    fn parse(&mut self, mut input: I) -> Result<O, ParseError<I, E>>
52
0
    where
53
0
        Self: core::marker::Sized,
54
0
        I: Stream,
55
0
        // Force users to deal with `Incomplete` when `StreamIsPartial<true>`
56
0
        I: StreamIsPartial,
57
0
        E: ParserError<I>,
58
0
    {
59
0
        debug_assert!(
60
0
            !I::is_partial_supported(),
61
0
            "partial streams need to handle `ErrMode::Incomplete`"
62
        );
63
64
0
        let start = input.checkpoint();
65
0
        let (o, _) = (self.by_ref(), crate::combinator::eof)
66
0
            .parse_next(&mut input)
67
0
            .map_err(|e| {
68
0
                let e = e
69
0
                    .into_inner()
70
0
                    .expect("complete parsers should not report `ErrMode::Incomplete(_)`");
71
0
                ParseError::new(input, start, e)
72
0
            })?;
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse::{closure#0}
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse::{closure#0}
73
0
        Ok(o)
74
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse
75
76
    /// Take tokens from the [`Stream`], turning it into the output
77
    ///
78
    /// This includes advancing the [`Stream`] to the next location.
79
    ///
80
    /// On error, `input` will be left pointing at the error location.
81
    fn parse_next(&mut self, input: &mut I) -> PResult<O, E>;
82
83
    /// Take tokens from the [`Stream`], turning it into the output
84
    ///
85
    /// This includes advancing the [`Stream`] to the next location.
86
    #[inline(always)]
87
0
    fn parse_peek(&mut self, mut input: I) -> IResult<I, O, E> {
88
0
        match self.parse_next(&mut input) {
89
0
            Ok(o) => Ok((input, o)),
90
0
            Err(err) => Err(err),
91
        }
92
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_peek
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_peek
93
94
    /// Treat `&mut Self` as a parser
95
    ///
96
    /// This helps when needing to move a `Parser` when all you have is a `&mut Parser`.
97
    ///
98
    /// # Example
99
    ///
100
    /// Because parsers are `FnMut`, they can be called multiple times. This prevents moving `f`
101
    /// into [`length_take`][crate::binary::length_take] and `g` into
102
    /// [`Parser::complete_err`]:
103
    /// ```rust,compile_fail
104
    /// # use winnow::prelude::*;
105
    /// # use winnow::Parser;
106
    /// # use winnow::error::ParserError;
107
    /// # use winnow::binary::length_take;
108
    /// pub fn length_value<'i, O, E: ParserError<&'i [u8]>>(
109
    ///     mut f: impl Parser<&'i [u8], usize, E>,
110
    ///     mut g: impl Parser<&'i [u8], O, E>
111
    /// ) -> impl Parser<&'i [u8], O, E> {
112
    ///   move |i: &mut &'i [u8]| {
113
    ///     let mut data = length_take(f).parse_next(i)?;
114
    ///     let o = g.complete_err().parse_next(&mut data)?;
115
    ///     Ok(o)
116
    ///   }
117
    /// }
118
    /// ```
119
    ///
120
    /// By adding `by_ref`, we can make this work:
121
    /// ```rust
122
    /// # use winnow::prelude::*;
123
    /// # use winnow::Parser;
124
    /// # use winnow::error::ParserError;
125
    /// # use winnow::binary::length_take;
126
    /// pub fn length_value<'i, O, E: ParserError<&'i [u8]>>(
127
    ///     mut f: impl Parser<&'i [u8], usize, E>,
128
    ///     mut g: impl Parser<&'i [u8], O, E>
129
    /// ) -> impl Parser<&'i [u8], O, E> {
130
    ///   move |i: &mut &'i [u8]| {
131
    ///     let mut data = length_take(f.by_ref()).parse_next(i)?;
132
    ///     let o = g.by_ref().complete_err().parse_next(&mut data)?;
133
    ///     Ok(o)
134
    ///   }
135
    /// }
136
    /// ```
137
    #[inline(always)]
138
0
    fn by_ref(&mut self) -> ByRef<'_, Self>
139
0
    where
140
0
        Self: core::marker::Sized,
141
0
    {
142
0
        ByRef::new(self)
143
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::by_ref
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::by_ref
144
145
    /// Produce the provided value
146
    ///
147
    /// # Example
148
    ///
149
    /// ```rust
150
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
151
    /// use winnow::ascii::alpha1;
152
    /// # fn main() {
153
    ///
154
    /// let mut parser = alpha1.value(1234);
155
    ///
156
    /// assert_eq!(parser.parse_peek("abcd"), Ok(("", 1234)));
157
    /// assert_eq!(parser.parse_peek("123abcd;"), Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice))));
158
    /// # }
159
    /// ```
160
    #[doc(alias = "to")]
161
    #[inline(always)]
162
28.3M
    fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E>
163
28.3M
    where
164
28.3M
        Self: core::marker::Sized,
165
28.3M
        O2: Clone,
166
28.3M
    {
167
28.3M
        Value::new(self, val)
168
28.3M
    }
<winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<u8>
Line
Count
Source
162
29.3k
    fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E>
163
29.3k
    where
164
29.3k
        Self: core::marker::Sized,
165
29.3k
        O2: Clone,
166
29.3k
    {
167
29.3k
        Value::new(self, val)
168
29.3k
    }
<winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<&bstr::bstr::BStr>
Line
Count
Source
162
463k
    fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E>
163
463k
    where
164
463k
        Self: core::marker::Sized,
165
463k
        O2: Clone,
166
463k
    {
167
463k
        Value::new(self, val)
168
463k
    }
<u8 as winnow::parser::Parser<&[u8], u8, ()>>::value::<&bstr::bstr::BStr>
Line
Count
Source
162
463k
    fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E>
163
463k
    where
164
463k
        Self: core::marker::Sized,
165
463k
        O2: Clone,
166
463k
    {
167
463k
        Value::new(self, val)
168
463k
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::value::<_>
<winnow::token::literal<char, &[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::value::<char>
Line
Count
Source
162
27.4M
    fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E>
163
27.4M
    where
164
27.4M
        Self: core::marker::Sized,
165
27.4M
        O2: Clone,
166
27.4M
    {
167
27.4M
        Value::new(self, val)
168
27.4M
    }
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<&bstr::bstr::BStr>
Unexecuted instantiation: <u8 as winnow::parser::Parser<&[u8], u8, ()>>::value::<&bstr::bstr::BStr>
Unexecuted instantiation: <winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<u8>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::value::<_>
169
170
    /// Produce a type's default value
171
    ///
172
    /// # Example
173
    ///
174
    /// ```rust
175
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
176
    /// use winnow::ascii::alpha1;
177
    /// # fn main() {
178
    ///
179
    /// let mut parser = alpha1.default_value::<u32>();
180
    ///
181
    /// assert_eq!(parser.parse_peek("abcd"), Ok(("", 0)));
182
    /// assert_eq!(parser.parse_peek("123abcd;"), Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice))));
183
    /// # }
184
    /// ```
185
    #[inline(always)]
186
0
    fn default_value<O2>(self) -> DefaultValue<Self, I, O, O2, E>
187
0
    where
188
0
        Self: core::marker::Sized,
189
0
        O2: core::default::Default,
190
0
    {
191
0
        DefaultValue::new(self)
192
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::default_value::<_>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::default_value::<_>
193
194
    /// Discards the output of the `Parser`
195
    ///
196
    /// # Example
197
    ///
198
    /// ```rust
199
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
200
    /// use winnow::ascii::alpha1;
201
    /// # fn main() {
202
    ///
203
    /// let mut parser = alpha1.void();
204
    ///
205
    /// assert_eq!(parser.parse_peek("abcd"), Ok(("", ())));
206
    /// assert_eq!(parser.parse_peek("123abcd;"), Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice))));
207
    /// # }
208
    /// ```
209
    #[inline(always)]
210
0
    fn void(self) -> Void<Self, I, O, E>
211
0
    where
212
0
        Self: core::marker::Sized,
213
0
    {
214
0
        Void::new(self)
215
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::void
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::void
216
217
    /// Convert the parser's output to another type using [`std::convert::From`]
218
    ///
219
    /// # Example
220
    ///
221
    /// ```rust
222
    /// # use winnow::prelude::*;
223
    /// # use winnow::error::InputError;
224
    /// use winnow::ascii::alpha1;
225
    /// # fn main() {
226
    ///
227
    /// fn parser1<'s>(i: &mut &'s str) -> PResult<&'s str, InputError<&'s str>> {
228
    ///   alpha1(i)
229
    /// }
230
    ///
231
    /// let mut parser2 = parser1.output_into();
232
    ///
233
    /// // the parser converts the &str output of the child parser into a Vec<u8>
234
    /// let bytes: IResult<&str, Vec<u8>> = parser2.parse_peek("abcd");
235
    /// assert_eq!(bytes, Ok(("", vec![97, 98, 99, 100])));
236
    /// # }
237
    /// ```
238
    #[inline(always)]
239
0
    fn output_into<O2>(self) -> OutputInto<Self, I, O, O2, E>
240
0
    where
241
0
        Self: core::marker::Sized,
242
0
        O: Into<O2>,
243
0
    {
244
0
        OutputInto::new(self)
245
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::output_into::<_>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::output_into::<_>
246
247
    /// Produce the consumed input as produced value.
248
    ///
249
    /// # Example
250
    ///
251
    /// ```rust
252
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
253
    /// use winnow::ascii::{alpha1};
254
    /// use winnow::combinator::separated_pair;
255
    /// # fn main() {
256
    ///
257
    /// let mut parser = separated_pair(alpha1, ',', alpha1).take();
258
    ///
259
    /// assert_eq!(parser.parse_peek("abcd,efgh"), Ok(("", "abcd,efgh")));
260
    /// assert_eq!(parser.parse_peek("abcd;"),Err(ErrMode::Backtrack(InputError::new(";", ErrorKind::Tag))));
261
    /// # }
262
    /// ```
263
    #[doc(alias = "concat")]
264
    #[doc(alias = "recognize")]
265
    #[inline(always)]
266
78.1M
    fn take(self) -> Take<Self, I, O, E>
267
78.1M
    where
268
78.1M
        Self: core::marker::Sized,
269
78.1M
        I: Stream,
270
78.1M
    {
271
78.1M
        Take::new(self)
272
78.1M
    }
Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::take
Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::take
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::take
<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>>, gix_config::parse::nom::take_newlines1::{closure#0}, &[u8], (), (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::take
Line
Count
Source
266
39.7M
    fn take(self) -> Take<Self, I, O, E>
267
39.7M
    where
268
39.7M
        Self: core::marker::Sized,
269
39.7M
        I: Stream,
270
39.7M
    {
271
39.7M
        Take::new(self)
272
39.7M
    }
<winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::take
Line
Count
Source
266
1.22M
    fn take(self) -> Take<Self, I, O, E>
267
1.22M
    where
268
1.22M
        Self: core::marker::Sized,
269
1.22M
        I: Stream,
270
1.22M
    {
271
1.22M
        Take::new(self)
272
1.22M
    }
<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (u8, &[u8]), winnow::error::InputError<&[u8]>>>::take
Line
Count
Source
266
36.0M
    fn take(self) -> Take<Self, I, O, E>
267
36.0M
    where
268
36.0M
        Self: core::marker::Sized,
269
36.0M
        I: Stream,
270
36.0M
    {
271
36.0M
        Take::new(self)
272
36.0M
    }
Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::take
Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::take
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::take
<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::take
Line
Count
Source
266
2.72k
    fn take(self) -> Take<Self, I, O, E>
267
2.72k
    where
268
2.72k
        Self: core::marker::Sized,
269
2.72k
        I: Stream,
270
2.72k
    {
271
2.72k
        Take::new(self)
272
2.72k
    }
<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::take
Line
Count
Source
266
1.04M
    fn take(self) -> Take<Self, I, O, E>
267
1.04M
    where
268
1.04M
        Self: core::marker::Sized,
269
1.04M
        I: Stream,
270
1.04M
    {
271
1.04M
        Take::new(self)
272
1.04M
    }
273
274
    /// Replaced with [`Parser::take`]
275
    #[inline(always)]
276
    #[deprecated(since = "0.6.14", note = "Replaced with `Parser::take`")]
277
0
    fn recognize(self) -> Take<Self, I, O, E>
278
0
    where
279
0
        Self: core::marker::Sized,
280
0
        I: Stream,
281
0
    {
282
0
        Take::new(self)
283
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::recognize
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::recognize
284
285
    /// Produce the consumed input with the output
286
    ///
287
    /// Functions similarly to [take][Parser::take] except it
288
    /// returns the parser output as well.
289
    ///
290
    /// This can be useful especially in cases where the output is not the same type
291
    /// as the input, or the input is a user defined type.
292
    ///
293
    /// Returned tuple is of the format `(produced output, consumed input)`.
294
    ///
295
    /// # Example
296
    ///
297
    /// ```rust
298
    /// # use winnow::prelude::*;
299
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError};
300
    /// use winnow::ascii::{alpha1};
301
    /// use winnow::token::literal;
302
    /// use winnow::combinator::separated_pair;
303
    ///
304
    /// fn inner_parser<'s>(input: &mut &'s str) -> PResult<bool, InputError<&'s str>> {
305
    ///     "1234".value(true).parse_next(input)
306
    /// }
307
    ///
308
    /// let mut consumed_parser = separated_pair(alpha1, ',', alpha1).value(true).with_taken();
309
    ///
310
    /// assert_eq!(consumed_parser.parse_peek("abcd,efgh1"), Ok(("1", (true, "abcd,efgh"))));
311
    /// assert_eq!(consumed_parser.parse_peek("abcd;"),Err(ErrMode::Backtrack(InputError::new(";", ErrorKind::Tag))));
312
    ///
313
    /// // the second output (representing the consumed input)
314
    /// // should be the same as that of the `take` parser.
315
    /// let mut take_parser = inner_parser.take();
316
    /// let mut consumed_parser = inner_parser.with_taken().map(|(output, consumed)| consumed);
317
    ///
318
    /// assert_eq!(take_parser.parse_peek("1234"), consumed_parser.parse_peek("1234"));
319
    /// assert_eq!(take_parser.parse_peek("abcd"), consumed_parser.parse_peek("abcd"));
320
    /// ```
321
    #[doc(alias = "consumed")]
322
    #[doc(alias = "with_recognized")]
323
    #[inline(always)]
324
0
    fn with_taken(self) -> WithTaken<Self, I, O, E>
325
0
    where
326
0
        Self: core::marker::Sized,
327
0
        I: Stream,
328
0
    {
329
0
        WithTaken::new(self)
330
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_taken
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_taken
331
332
    /// Replaced with [`Parser::with_taken`]
333
    #[inline(always)]
334
    #[deprecated(since = "0.6.14", note = "Replaced with `Parser::with_taken`")]
335
0
    fn with_recognized(self) -> WithTaken<Self, I, O, E>
336
0
    where
337
0
        Self: core::marker::Sized,
338
0
        I: Stream,
339
0
    {
340
0
        WithTaken::new(self)
341
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_recognized
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_recognized
342
343
    /// Produce the location of the consumed input as produced value.
344
    ///
345
    /// # Example
346
    ///
347
    /// ```rust
348
    /// # use winnow::prelude::*;
349
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, stream::Stream};
350
    /// use winnow::stream::Located;
351
    /// use winnow::ascii::alpha1;
352
    /// use winnow::combinator::separated_pair;
353
    ///
354
    /// let mut parser = separated_pair(alpha1.span(), ',', alpha1.span());
355
    ///
356
    /// assert_eq!(parser.parse(Located::new("abcd,efgh")), Ok((0..4, 5..9)));
357
    /// assert_eq!(parser.parse_peek(Located::new("abcd;")),Err(ErrMode::Backtrack(InputError::new(Located::new("abcd;").peek_slice(4).0, ErrorKind::Tag))));
358
    /// ```
359
    #[inline(always)]
360
0
    fn span(self) -> Span<Self, I, O, E>
361
0
    where
362
0
        Self: core::marker::Sized,
363
0
        I: Stream + Location,
364
0
    {
365
0
        Span::new(self)
366
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::span
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::span
367
368
    /// Produce the location of consumed input with the output
369
    ///
370
    /// Functions similarly to [`Parser::span`] except it
371
    /// returns the parser output as well.
372
    ///
373
    /// This can be useful especially in cases where the output is not the same type
374
    /// as the input, or the input is a user defined type.
375
    ///
376
    /// Returned tuple is of the format `(produced output, consumed input)`.
377
    ///
378
    /// # Example
379
    ///
380
    /// ```rust
381
    /// # use winnow::prelude::*;
382
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, stream::Stream};
383
    /// use winnow::stream::Located;
384
    /// use winnow::ascii::alpha1;
385
    /// use winnow::token::literal;
386
    /// use winnow::combinator::separated_pair;
387
    ///
388
    /// fn inner_parser<'s>(input: &mut Located<&'s str>) -> PResult<bool, InputError<Located<&'s str>>> {
389
    ///     "1234".value(true).parse_next(input)
390
    /// }
391
    ///
392
    /// # fn main() {
393
    ///
394
    /// let mut consumed_parser = separated_pair(alpha1.value(1).with_span(), ',', alpha1.value(2).with_span());
395
    ///
396
    /// assert_eq!(consumed_parser.parse(Located::new("abcd,efgh")), Ok(((1, 0..4), (2, 5..9))));
397
    /// assert_eq!(consumed_parser.parse_peek(Located::new("abcd;")),Err(ErrMode::Backtrack(InputError::new(Located::new("abcd;").peek_slice(4).0, ErrorKind::Tag))));
398
    ///
399
    /// // the second output (representing the consumed input)
400
    /// // should be the same as that of the `span` parser.
401
    /// let mut span_parser = inner_parser.span();
402
    /// let mut consumed_parser = inner_parser.with_span().map(|(output, consumed)| consumed);
403
    ///
404
    /// assert_eq!(span_parser.parse_peek(Located::new("1234")), consumed_parser.parse_peek(Located::new("1234")));
405
    /// assert_eq!(span_parser.parse_peek(Located::new("abcd")), consumed_parser.parse_peek(Located::new("abcd")));
406
    /// # }
407
    /// ```
408
    #[inline(always)]
409
0
    fn with_span(self) -> WithSpan<Self, I, O, E>
410
0
    where
411
0
        Self: core::marker::Sized,
412
0
        I: Stream + Location,
413
0
    {
414
0
        WithSpan::new(self)
415
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_span
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_span
416
417
    /// Maps a function over the output of a parser
418
    ///
419
    /// # Example
420
    ///
421
    /// ```rust
422
    /// use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
423
    /// use winnow::ascii::digit1;
424
    /// # fn main() {
425
    ///
426
    /// let mut parser = digit1.map(|s: &str| s.len());
427
    ///
428
    /// // the parser will count how many characters were returned by digit1
429
    /// assert_eq!(parser.parse_peek("123456"), Ok(("", 6)));
430
    ///
431
    /// // this will fail if digit1 fails
432
    /// assert_eq!(parser.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice))));
433
    /// # }
434
    /// ```
435
    #[inline(always)]
436
275M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
275M
    where
438
275M
        G: FnMut(O) -> O2,
439
275M
        Self: core::marker::Sized,
440
275M
    {
441
275M
        Map::new(self, map)
442
275M
    }
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
<winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
1.12M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
1.12M
    where
438
1.12M
        G: FnMut(O) -> O2,
439
1.12M
        Self: core::marker::Sized,
440
1.12M
    {
441
1.12M
        Map::new(self, map)
442
1.12M
    }
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#1}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState>
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#2}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState>
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
594k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
594k
    where
438
594k
        G: FnMut(O) -> O2,
439
594k
        Self: core::marker::Sized,
440
594k
    {
441
594k
        Map::new(self, map)
442
594k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::map::<gix_ref::store_impl::packed::decode::header<()>::{closure#0}, gix_ref::store_impl::packed::decode::Header>
Line
Count
Source
436
19
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
19
    where
438
19
        G: FnMut(O) -> O2,
439
19
        Self: core::marker::Sized,
440
19
    {
441
19
        Map::new(self, map)
442
19
    }
<(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_ref::store_impl::packed::decode::reference<()>::{closure#0}, gix_ref::store_impl::packed::Reference>
Line
Count
Source
436
594k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
594k
    where
438
594k
        G: FnMut(O) -> O2,
439
594k
        Self: core::marker::Sized,
440
594k
    {
441
594k
        Map::new(self, map)
442
594k
    }
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
4.38k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
4.38k
    where
438
4.38k
        G: FnMut(O) -> O2,
439
4.38k
        Self: core::marker::Sized,
440
4.38k
    {
441
4.38k
        Map::new(self, map)
442
4.38k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
4.94k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
4.94k
    where
438
4.94k
        G: FnMut(O) -> O2,
439
4.94k
        Self: core::marker::Sized,
440
4.94k
    {
441
4.94k
        Map::new(self, map)
442
4.94k
    }
<(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::map::<gix_ref::store_impl::file::log::line::decode::one<()>::{closure#0}, gix_ref::store_impl::file::log::LineRef>
Line
Count
Source
436
463k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
463k
    where
438
463k
        G: FnMut(O) -> O2,
439
463k
        Self: core::marker::Sized,
440
463k
    {
441
463k
        Map::new(self, map)
442
463k
    }
<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#7}, gix_actor::SignatureRef>
Line
Count
Source
436
47.7k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
47.7k
    where
438
47.7k
        G: FnMut(O) -> O2,
439
47.7k
        Self: core::marker::Sized,
440
47.7k
    {
441
47.7k
        Map::new(self, map)
442
47.7k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8]>
Line
Count
Source
436
47.7k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
47.7k
    where
438
47.7k
        G: FnMut(O) -> O2,
439
47.7k
        Self: core::marker::Sized,
440
47.7k
    {
441
47.7k
        Map::new(self, map)
442
47.7k
    }
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, gix_date::time::Sign>
Line
Count
Source
436
47.7k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
47.7k
    where
438
47.7k
        G: FnMut(O) -> O2,
439
47.7k
        Self: core::marker::Sized,
440
47.7k
    {
441
47.7k
        Map::new(self, map)
442
47.7k
    }
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, gix_date::time::Sign>
Line
Count
Source
436
47.7k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
47.7k
    where
438
47.7k
        G: FnMut(O) -> O2,
439
47.7k
        Self: core::marker::Sized,
440
47.7k
    {
441
47.7k
        Map::new(self, map)
442
47.7k
    }
<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#6}, gix_date::Time>
Line
Count
Source
436
47.7k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
47.7k
    where
438
47.7k
        G: FnMut(O) -> O2,
439
47.7k
        Self: core::marker::Sized,
440
47.7k
    {
441
47.7k
        Map::new(self, map)
442
47.7k
    }
Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()>
Unexecuted instantiation: <winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString>
Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>>
Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef>
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)>
Unexecuted instantiation: <winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#0}, core::option::Option<&bstr::bstr::BStr>>
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&[u8], core::option::Option<&bstr::bstr::BStr>)>
Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_object::tag::decode::message<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)>
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::map::<_, _>
<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::take_newlines1::{closure#0}, ()>
Line
Count
Source
436
39.7M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
39.7M
    where
438
39.7M
        G: FnMut(O) -> O2,
439
39.7M
        Self: core::marker::Sized,
440
39.7M
    {
441
39.7M
        Map::new(self, map)
442
39.7M
    }
<winnow::combinator::multi::Repeat<gix_config::parse::nom::from_bytes::{closure#4}, &[u8], (), (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::from_bytes::{closure#5}, ()>
Line
Count
Source
436
12.9k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
12.9k
    where
438
12.9k
        G: FnMut(O) -> O2,
439
12.9k
        Self: core::marker::Sized,
440
12.9k
    {
441
12.9k
        Map::new(self, map)
442
12.9k
    }
<winnow::combinator::parser::Take<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>>, gix_config::parse::nom::take_newlines1::{closure#0}, &[u8], (), (), winnow::error::InputError<&[u8]>>, &[u8], (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
39.7M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
39.7M
    where
438
39.7M
        G: FnMut(O) -> O2,
439
39.7M
        Self: core::marker::Sized,
440
39.7M
    {
441
39.7M
        Map::new(self, map)
442
39.7M
    }
<winnow::combinator::parser::Take<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8], (u8, &[u8]), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
36.0M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
36.0M
    where
438
36.0M
        G: FnMut(O) -> O2,
439
36.0M
        Self: core::marker::Sized,
440
36.0M
    {
441
36.0M
        Map::new(self, map)
442
36.0M
    }
<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
10.8M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
10.8M
    where
438
10.8M
        G: FnMut(O) -> O2,
439
10.8M
        Self: core::marker::Sized,
440
10.8M
    {
441
10.8M
        Map::new(self, map)
442
10.8M
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_space, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
56.0M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
56.0M
    where
438
56.0M
        G: FnMut(O) -> O2,
439
56.0M
        Self: core::marker::Sized,
440
56.0M
    {
441
56.0M
        Map::new(self, map)
442
56.0M
    }
<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::comment::{closure#1}, alloc::borrow::Cow<bstr::bstr::BStr>>
Line
Count
Source
436
43.4M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
43.4M
    where
438
43.4M
        G: FnMut(O) -> O2,
439
43.4M
        Self: core::marker::Sized,
440
43.4M
    {
441
43.4M
        Map::new(self, map)
442
43.4M
    }
<gix_config::parse::nom::take_spaces1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::from_bytes::{closure#0}, gix_config::parse::Event>
Line
Count
Source
436
20.0k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
20.0k
    where
438
20.0k
        G: FnMut(O) -> O2,
439
20.0k
        Self: core::marker::Sized,
440
20.0k
    {
441
20.0k
        Map::new(self, map)
442
20.0k
    }
<gix_config::parse::nom::comment as winnow::parser::Parser<&[u8], gix_config::parse::Comment, winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::Event::Comment, gix_config::parse::Event>
Line
Count
Source
436
20.0k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
20.0k
    where
438
20.0k
        G: FnMut(O) -> O2,
439
20.0k
        Self: core::marker::Sized,
440
20.0k
    {
441
20.0k
        Map::new(self, map)
442
20.0k
    }
<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], [char; 2], winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_config::parse::nom::comment::{closure#1}, &[u8], &[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>) as winnow::parser::Parser<&[u8], (u8, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::comment::{closure#2}, gix_config::parse::Comment>
Line
Count
Source
436
43.4M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
43.4M
    where
438
43.4M
        G: FnMut(O) -> O2,
439
43.4M
        Self: core::marker::Sized,
440
43.4M
    {
441
43.4M
        Map::new(self, map)
442
43.4M
    }
<(gix_config::parse::nom::take_spaces1, winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0}, &str>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::section_header::{closure#2}, gix_config::parse::section::Header>
Line
Count
Source
436
398k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
398k
    where
438
398k
        G: FnMut(O) -> O2,
439
398k
        Self: core::marker::Sized,
440
398k
    {
441
398k
        Map::new(self, map)
442
398k
    }
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::map::<gix_ref::store_impl::file::log::line::decode::one<()>::{closure#0}, gix_ref::store_impl::file::log::LineRef>
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#1}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState>
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#2}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState>
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::map::<gix_ref::store_impl::packed::decode::header<()>::{closure#0}, gix_ref::store_impl::packed::decode::Header>
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_ref::store_impl::packed::decode::reference<()>::{closure#0}, gix_ref::store_impl::packed::Reference>
Unexecuted instantiation: <winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#0}, core::option::Option<&bstr::bstr::BStr>>
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&[u8], core::option::Option<&bstr::bstr::BStr>)>
Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_object::tag::decode::message<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)>
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef>
Unexecuted instantiation: <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>>
Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef>
Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()>
Unexecuted instantiation: <winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString>
Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Unexecuted instantiation: <winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#7}, gix_actor::SignatureRef>
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8]>
Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, gix_date::time::Sign>
Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, gix_date::time::Sign>
Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#6}, gix_date::Time>
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::map::<_, _>
<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>>
Line
Count
Source
436
2.06k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
2.06k
    where
438
2.06k
        G: FnMut(O) -> O2,
439
2.06k
        Self: core::marker::Sized,
440
2.06k
    {
441
2.06k
        Map::new(self, map)
442
2.06k
    }
<gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>
Line
Count
Source
436
2.06k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
2.06k
    where
438
2.06k
        G: FnMut(O) -> O2,
439
2.06k
        Self: core::marker::Sized,
440
2.06k
    {
441
2.06k
        Map::new(self, map)
442
2.06k
    }
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
834
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
834
    where
438
834
        G: FnMut(O) -> O2,
439
834
        Self: core::marker::Sized,
440
834
    {
441
834
        Map::new(self, map)
442
834
    }
<(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef>
Line
Count
Source
436
2.06k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
2.06k
    where
438
2.06k
        G: FnMut(O) -> O2,
439
2.06k
        Self: core::marker::Sized,
440
2.06k
    {
441
2.06k
        Map::new(self, map)
442
2.06k
    }
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)>
<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#0}, core::option::Option<&bstr::bstr::BStr>>
Line
Count
Source
436
2.72k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
2.72k
    where
438
2.72k
        G: FnMut(O) -> O2,
439
2.72k
        Self: core::marker::Sized,
440
2.72k
    {
441
2.72k
        Map::new(self, map)
442
2.72k
    }
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&[u8], core::option::Option<&bstr::bstr::BStr>)>
Line
Count
Source
436
2.72k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
2.72k
    where
438
2.72k
        G: FnMut(O) -> O2,
439
2.72k
        Self: core::marker::Sized,
440
2.72k
    {
441
2.72k
        Map::new(self, map)
442
2.72k
    }
<winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_object::tag::decode::message<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)>
Line
Count
Source
436
2.72k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
2.72k
    where
438
2.72k
        G: FnMut(O) -> O2,
439
2.72k
        Self: core::marker::Sized,
440
2.72k
    {
441
2.72k
        Map::new(self, map)
442
2.72k
    }
<(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef>
Line
Count
Source
436
1.99k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
1.99k
    where
438
1.99k
        G: FnMut(O) -> O2,
439
1.99k
        Self: core::marker::Sized,
440
1.99k
    {
441
1.99k
        Map::new(self, map)
442
1.99k
    }
<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()>
Line
Count
Source
436
1.04M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
1.04M
    where
438
1.04M
        G: FnMut(O) -> O2,
439
1.04M
        Self: core::marker::Sized,
440
1.04M
    {
441
1.04M
        Map::new(self, map)
442
1.04M
    }
<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString>
Line
Count
Source
436
1.04M
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
1.04M
    where
438
1.04M
        G: FnMut(O) -> O2,
439
1.04M
        Self: core::marker::Sized,
440
1.04M
    {
441
1.04M
        Map::new(self, map)
442
1.04M
    }
<winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr>
Line
Count
Source
436
14.3k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
14.3k
    where
438
14.3k
        G: FnMut(O) -> O2,
439
14.3k
        Self: core::marker::Sized,
440
14.3k
    {
441
14.3k
        Map::new(self, map)
442
14.3k
    }
<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#7}, gix_actor::SignatureRef>
Line
Count
Source
436
7.66k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
7.66k
    where
438
7.66k
        G: FnMut(O) -> O2,
439
7.66k
        Self: core::marker::Sized,
440
7.66k
    {
441
7.66k
        Map::new(self, map)
442
7.66k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8]>
Line
Count
Source
436
7.66k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
7.66k
    where
438
7.66k
        G: FnMut(O) -> O2,
439
7.66k
        Self: core::marker::Sized,
440
7.66k
    {
441
7.66k
        Map::new(self, map)
442
7.66k
    }
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, gix_date::time::Sign>
Line
Count
Source
436
7.66k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
7.66k
    where
438
7.66k
        G: FnMut(O) -> O2,
439
7.66k
        Self: core::marker::Sized,
440
7.66k
    {
441
7.66k
        Map::new(self, map)
442
7.66k
    }
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, gix_date::time::Sign>
Line
Count
Source
436
7.66k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
7.66k
    where
438
7.66k
        G: FnMut(O) -> O2,
439
7.66k
        Self: core::marker::Sized,
440
7.66k
    {
441
7.66k
        Map::new(self, map)
442
7.66k
    }
<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#6}, gix_date::Time>
Line
Count
Source
436
7.66k
    fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E>
437
7.66k
    where
438
7.66k
        G: FnMut(O) -> O2,
439
7.66k
        Self: core::marker::Sized,
440
7.66k
    {
441
7.66k
        Map::new(self, map)
442
7.66k
    }
443
444
    /// Applies a function returning a `Result` over the output of a parser.
445
    ///
446
    /// # Example
447
    ///
448
    /// ```rust
449
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
450
    /// use winnow::ascii::digit1;
451
    /// # fn main() {
452
    ///
453
    /// let mut parse = digit1.try_map(|s: &str| s.parse::<u8>());
454
    ///
455
    /// // the parser will convert the result of digit1 to a number
456
    /// assert_eq!(parse.parse_peek("123"), Ok(("", 123)));
457
    ///
458
    /// // this will fail if digit1 fails
459
    /// assert_eq!(parse.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice))));
460
    ///
461
    /// // this will fail if the mapped function fails (a `u8` is too small to hold `123456`)
462
    /// assert_eq!(parse.parse_peek("123456"), Err(ErrMode::Backtrack(InputError::new("123456", ErrorKind::Verify))));
463
    /// # }
464
    /// ```
465
    #[inline(always)]
466
594k
    fn try_map<G, O2, E2>(self, map: G) -> TryMap<Self, G, I, O, O2, E, E2>
467
594k
    where
468
594k
        Self: core::marker::Sized,
469
594k
        G: FnMut(O) -> Result<O2, E2>,
470
594k
        I: Stream,
471
594k
        E: FromExternalError<I, E2>,
472
594k
    {
473
594k
        TryMap::new(self, map)
474
594k
    }
<gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::try_map::<<&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &gix_ref::FullNameRef, gix_validate::reference::name::Error>
Line
Count
Source
466
594k
    fn try_map<G, O2, E2>(self, map: G) -> TryMap<Self, G, I, O, O2, E, E2>
467
594k
    where
468
594k
        Self: core::marker::Sized,
469
594k
        G: FnMut(O) -> Result<O2, E2>,
470
594k
        I: Stream,
471
594k
        E: FromExternalError<I, E2>,
472
594k
    {
473
594k
        TryMap::new(self, map)
474
594k
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::try_map::<_, _, _>
Unexecuted instantiation: <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::try_map::<<&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &gix_ref::FullNameRef, gix_validate::reference::name::Error>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::try_map::<_, _, _>
475
476
    /// Apply both [`Parser::verify`] and [`Parser::map`].
477
    ///
478
    /// # Example
479
    ///
480
    /// ```rust
481
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
482
    /// use winnow::ascii::digit1;
483
    /// # fn main() {
484
    ///
485
    /// let mut parse = digit1.verify_map(|s: &str| s.parse::<u8>().ok());
486
    ///
487
    /// // the parser will convert the result of digit1 to a number
488
    /// assert_eq!(parse.parse_peek("123"), Ok(("", 123)));
489
    ///
490
    /// // this will fail if digit1 fails
491
    /// assert_eq!(parse.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice))));
492
    ///
493
    /// // this will fail if the mapped function fails (a `u8` is too small to hold `123456`)
494
    /// assert_eq!(parse.parse_peek("123456"), Err(ErrMode::Backtrack(InputError::new("123456", ErrorKind::Verify))));
495
    /// # }
496
    /// ```
497
    #[doc(alias = "satisfy_map")]
498
    #[doc(alias = "filter_map")]
499
    #[doc(alias = "map_opt")]
500
    #[inline(always)]
501
168k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
168k
    where
503
168k
        Self: core::marker::Sized,
504
168k
        G: FnMut(O) -> Option<O2>,
505
168k
        I: Stream,
506
168k
        E: ParserError<I>,
507
168k
    {
508
168k
        VerifyMap::new(self, map)
509
168k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#4}, i32>
Line
Count
Source
501
47.7k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
47.7k
    where
503
47.7k
        Self: core::marker::Sized,
504
47.7k
        G: FnMut(O) -> Option<O2>,
505
47.7k
        I: Stream,
506
47.7k
        E: ParserError<I>,
507
47.7k
    {
508
47.7k
        VerifyMap::new(self, map)
509
47.7k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, i32>
Line
Count
Source
501
47.7k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
47.7k
    where
503
47.7k
        Self: core::marker::Sized,
504
47.7k
        G: FnMut(O) -> Option<O2>,
505
47.7k
        I: Stream,
506
47.7k
        E: ParserError<I>,
507
47.7k
    {
508
47.7k
        VerifyMap::new(self, map)
509
47.7k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#0}, i64>
Line
Count
Source
501
47.7k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
47.7k
    where
503
47.7k
        Self: core::marker::Sized,
504
47.7k
        G: FnMut(O) -> Option<O2>,
505
47.7k
        I: Stream,
506
47.7k
        E: ParserError<I>,
507
47.7k
    {
508
47.7k
        VerifyMap::new(self, map)
509
47.7k
    }
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify_map::<_, _>
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind>
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#4}, i32>
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, i32>
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#0}, i64>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify_map::<_, _>
<gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind>
Line
Count
Source
501
1.99k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
1.99k
    where
503
1.99k
        Self: core::marker::Sized,
504
1.99k
        G: FnMut(O) -> Option<O2>,
505
1.99k
        I: Stream,
506
1.99k
        E: ParserError<I>,
507
1.99k
    {
508
1.99k
        VerifyMap::new(self, map)
509
1.99k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#4}, i32>
Line
Count
Source
501
7.66k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
7.66k
    where
503
7.66k
        Self: core::marker::Sized,
504
7.66k
        G: FnMut(O) -> Option<O2>,
505
7.66k
        I: Stream,
506
7.66k
        E: ParserError<I>,
507
7.66k
    {
508
7.66k
        VerifyMap::new(self, map)
509
7.66k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, i32>
Line
Count
Source
501
7.66k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
7.66k
    where
503
7.66k
        Self: core::marker::Sized,
504
7.66k
        G: FnMut(O) -> Option<O2>,
505
7.66k
        I: Stream,
506
7.66k
        E: ParserError<I>,
507
7.66k
    {
508
7.66k
        VerifyMap::new(self, map)
509
7.66k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#0}, i64>
Line
Count
Source
501
7.66k
    fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E>
502
7.66k
    where
503
7.66k
        Self: core::marker::Sized,
504
7.66k
        G: FnMut(O) -> Option<O2>,
505
7.66k
        I: Stream,
506
7.66k
        E: ParserError<I>,
507
7.66k
    {
508
7.66k
        VerifyMap::new(self, map)
509
7.66k
    }
510
511
    /// Creates a parser from the output of this one
512
    ///
513
    /// # Example
514
    ///
515
    /// ```rust
516
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, PResult, Parser};
517
    /// use winnow::token::take;
518
    /// use winnow::binary::u8;
519
    ///
520
    /// fn length_take<'s>(input: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> {
521
    ///     u8.flat_map(take).parse_next(input)
522
    /// }
523
    ///
524
    /// assert_eq!(length_take.parse_peek(&[2, 0, 1, 2][..]), Ok((&[2][..], &[0, 1][..])));
525
    /// assert_eq!(length_take.parse_peek(&[4, 0, 1, 2][..]), Err(ErrMode::Backtrack(InputError::new(&[0, 1, 2][..], ErrorKind::Slice))));
526
    /// ```
527
    ///
528
    /// which is the same as
529
    /// ```rust
530
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, PResult, Parser};
531
    /// use winnow::token::take;
532
    /// use winnow::binary::u8;
533
    ///
534
    /// fn length_take<'s>(input: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> {
535
    ///     let length = u8.parse_next(input)?;
536
    ///     let data = take(length).parse_next(input)?;
537
    ///     Ok(data)
538
    /// }
539
    ///
540
    /// assert_eq!(length_take.parse_peek(&[2, 0, 1, 2][..]), Ok((&[2][..], &[0, 1][..])));
541
    /// assert_eq!(length_take.parse_peek(&[4, 0, 1, 2][..]), Err(ErrMode::Backtrack(InputError::new(&[0, 1, 2][..], ErrorKind::Slice))));
542
    /// ```
543
    #[inline(always)]
544
0
    fn flat_map<G, H, O2>(self, map: G) -> FlatMap<Self, G, H, I, O, O2, E>
545
0
    where
546
0
        Self: core::marker::Sized,
547
0
        G: FnMut(O) -> H,
548
0
        H: Parser<I, O2, E>,
549
0
    {
550
0
        FlatMap::new(self, map)
551
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::flat_map::<_, _, _>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::flat_map::<_, _, _>
552
553
    /// Applies a second parser over the output of the first one
554
    ///
555
    /// # Example
556
    ///
557
    /// ```rust
558
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
559
    /// use winnow::ascii::digit1;
560
    /// use winnow::token::take;
561
    /// # fn main() {
562
    ///
563
    /// let mut digits = take(5u8).and_then(digit1);
564
    ///
565
    /// assert_eq!(digits.parse_peek("12345"), Ok(("", "12345")));
566
    /// assert_eq!(digits.parse_peek("123ab"), Ok(("", "123")));
567
    /// assert_eq!(digits.parse_peek("123"), Err(ErrMode::Backtrack(InputError::new("123", ErrorKind::Slice))));
568
    /// # }
569
    /// ```
570
    #[inline(always)]
571
0
    fn and_then<G, O2>(self, inner: G) -> AndThen<Self, G, I, O, O2, E>
572
0
    where
573
0
        Self: core::marker::Sized,
574
0
        G: Parser<O, O2, E>,
575
0
        O: StreamIsPartial,
576
0
        I: Stream,
577
0
    {
578
0
        AndThen::new(self, inner)
579
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::and_then::<_, _>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::and_then::<_, _>
580
581
    /// Apply [`std::str::FromStr`] to the output of the parser
582
    ///
583
    /// # Example
584
    ///
585
    /// ```rust
586
    /// # use winnow::prelude::*;
587
    /// use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
588
    /// use winnow::ascii::digit1;
589
    ///
590
    /// fn parser<'s>(input: &mut &'s str) -> PResult<u64, InputError<&'s str>> {
591
    ///     digit1.parse_to().parse_next(input)
592
    /// }
593
    ///
594
    /// // the parser will count how many characters were returned by digit1
595
    /// assert_eq!(parser.parse_peek("123456"), Ok(("", 123456)));
596
    ///
597
    /// // this will fail if digit1 fails
598
    /// assert_eq!(parser.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice))));
599
    /// ```
600
    #[doc(alias = "from_str")]
601
    #[inline(always)]
602
0
    fn parse_to<O2>(self) -> ParseTo<Self, I, O, O2, E>
603
0
    where
604
0
        Self: core::marker::Sized,
605
0
        I: Stream,
606
0
        O: ParseSlice<O2>,
607
0
        E: ParserError<I>,
608
0
    {
609
0
        ParseTo::new(self)
610
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_to::<_>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_to::<_>
611
612
    /// Returns the output of the child parser if it satisfies a verification function.
613
    ///
614
    /// The verification function takes as argument a reference to the output of the
615
    /// parser.
616
    ///
617
    /// # Example
618
    ///
619
    /// ```rust
620
    /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser};
621
    /// # use winnow::ascii::alpha1;
622
    /// # fn main() {
623
    ///
624
    /// let mut parser = alpha1.verify(|s: &str| s.len() == 4);
625
    ///
626
    /// assert_eq!(parser.parse_peek("abcd"), Ok(("", "abcd")));
627
    /// assert_eq!(parser.parse_peek("abcde"), Err(ErrMode::Backtrack(InputError::new("abcde", ErrorKind::Verify))));
628
    /// assert_eq!(parser.parse_peek("123abcd;"),Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice))));
629
    /// # }
630
    /// ```
631
    #[doc(alias = "satisfy")]
632
    #[doc(alias = "filter")]
633
    #[inline(always)]
634
91.5M
    fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E>
635
91.5M
    where
636
91.5M
        Self: core::marker::Sized,
637
91.5M
        G: FnMut(&O2) -> bool,
638
91.5M
        I: Stream,
639
91.5M
        O: crate::lib::std::borrow::Borrow<O2>,
640
91.5M
        O2: ?Sized,
641
91.5M
        E: ParserError<I>,
642
91.5M
    {
643
91.5M
        Verify::new(self, filter)
644
91.5M
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify::<_, _>
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], [char; 2], winnow::error::InputError<&[u8]>>::{closure#0}, u8>
Line
Count
Source
634
43.4M
    fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E>
635
43.4M
    where
636
43.4M
        Self: core::marker::Sized,
637
43.4M
        G: FnMut(&O2) -> bool,
638
43.4M
        I: Stream,
639
43.4M
        O: crate::lib::std::borrow::Borrow<O2>,
640
43.4M
        O2: ?Sized,
641
43.4M
        E: ParserError<I>,
642
43.4M
    {
643
43.4M
        Verify::new(self, filter)
644
43.4M
    }
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, u8>
Line
Count
Source
634
36.0M
    fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E>
635
36.0M
    where
636
36.0M
        Self: core::marker::Sized,
637
36.0M
        G: FnMut(&O2) -> bool,
638
36.0M
        I: Stream,
639
36.0M
        O: crate::lib::std::borrow::Borrow<O2>,
640
36.0M
        O2: ?Sized,
641
36.0M
        E: ParserError<I>,
642
36.0M
    {
643
36.0M
        Verify::new(self, filter)
644
36.0M
    }
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::InputError<&[u8]>>::{closure#0}, u8>
Line
Count
Source
634
1.22M
    fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E>
635
1.22M
    where
636
1.22M
        Self: core::marker::Sized,
637
1.22M
        G: FnMut(&O2) -> bool,
638
1.22M
        I: Stream,
639
1.22M
        O: crate::lib::std::borrow::Borrow<O2>,
640
1.22M
        O2: ?Sized,
641
1.22M
        E: ParserError<I>,
642
1.22M
    {
643
1.22M
        Verify::new(self, filter)
644
1.22M
    }
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], char, winnow::error::InputError<&[u8]>>::{closure#0}, u8>
Line
Count
Source
634
10.7M
    fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E>
635
10.7M
    where
636
10.7M
        Self: core::marker::Sized,
637
10.7M
        G: FnMut(&O2) -> bool,
638
10.7M
        I: Stream,
639
10.7M
        O: crate::lib::std::borrow::Borrow<O2>,
640
10.7M
        O2: ?Sized,
641
10.7M
        E: ParserError<I>,
642
10.7M
    {
643
10.7M
        Verify::new(self, filter)
644
10.7M
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify::<_, _>
645
646
    /// If parsing fails, add context to the error
647
    ///
648
    /// This is used mainly to add user friendly information
649
    /// to errors when backtracking through a parse tree.
650
    #[doc(alias = "labelled")]
651
    #[inline(always)]
652
4.66M
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
4.66M
    where
654
4.66M
        Self: core::marker::Sized,
655
4.66M
        I: Stream,
656
4.66M
        E: AddContext<I, C>,
657
4.66M
        C: Clone + crate::lib::std::fmt::Debug,
658
4.66M
    {
659
4.66M
        Context::new(self, context)
660
4.66M
    }
<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
463k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
463k
    where
654
463k
        Self: core::marker::Sized,
655
463k
        I: Stream,
656
463k
        E: AddContext<I, C>,
657
463k
        C: Clone + crate::lib::std::fmt::Debug,
658
463k
    {
659
463k
        Context::new(self, context)
660
463k
    }
<gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
463k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
463k
    where
654
463k
        Self: core::marker::Sized,
655
463k
        I: Stream,
656
463k
        E: AddContext<I, C>,
657
463k
        C: Clone + crate::lib::std::fmt::Debug,
658
463k
    {
659
463k
        Context::new(self, context)
660
463k
    }
<gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
463k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
463k
    where
654
463k
        Self: core::marker::Sized,
655
463k
        I: Stream,
656
463k
        E: AddContext<I, C>,
657
463k
        C: Clone + crate::lib::std::fmt::Debug,
658
463k
    {
659
463k
        Context::new(self, context)
660
463k
    }
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
927k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
927k
    where
654
927k
        Self: core::marker::Sized,
655
927k
        I: Stream,
656
927k
        E: AddContext<I, C>,
657
927k
        C: Clone + crate::lib::std::fmt::Debug,
658
927k
    {
659
927k
        Context::new(self, context)
660
927k
    }
<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
463k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
463k
    where
654
463k
        Self: core::marker::Sized,
655
463k
        I: Stream,
656
463k
        E: AddContext<I, C>,
657
463k
        C: Clone + crate::lib::std::fmt::Debug,
658
463k
    {
659
463k
        Context::new(self, context)
660
463k
    }
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()> as winnow::parser::Parser<&[u8], i64, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
47.7k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
47.7k
    where
654
47.7k
        Self: core::marker::Sized,
655
47.7k
        I: Stream,
656
47.7k
        E: AddContext<I, C>,
657
47.7k
        C: Clone + crate::lib::std::fmt::Debug,
658
47.7k
    {
659
47.7k
        Context::new(self, context)
660
47.7k
    }
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
47.7k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
47.7k
    where
654
47.7k
        Self: core::marker::Sized,
655
47.7k
        I: Stream,
656
47.7k
        E: AddContext<I, C>,
657
47.7k
        C: Clone + crate::lib::std::fmt::Debug,
658
47.7k
    {
659
47.7k
        Context::new(self, context)
660
47.7k
    }
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
47.7k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
47.7k
    where
654
47.7k
        Self: core::marker::Sized,
655
47.7k
        I: Stream,
656
47.7k
        E: AddContext<I, C>,
657
47.7k
        C: Clone + crate::lib::std::fmt::Debug,
658
47.7k
    {
659
47.7k
        Context::new(self, context)
660
47.7k
    }
<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
47.7k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
47.7k
    where
654
47.7k
        Self: core::marker::Sized,
655
47.7k
        I: Stream,
656
47.7k
        E: AddContext<I, C>,
657
47.7k
        C: Clone + crate::lib::std::fmt::Debug,
658
47.7k
    {
659
47.7k
        Context::new(self, context)
660
47.7k
    }
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
47.7k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
47.7k
    where
654
47.7k
        Self: core::marker::Sized,
655
47.7k
        I: Stream,
656
47.7k
        E: AddContext<I, C>,
657
47.7k
        C: Clone + crate::lib::std::fmt::Debug,
658
47.7k
    {
659
47.7k
        Context::new(self, context)
660
47.7k
    }
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::context::<_>
Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()> as winnow::parser::Parser<&[u8], i64, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::context::<_>
<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.06k
    where
654
2.06k
        Self: core::marker::Sized,
655
2.06k
        I: Stream,
656
2.06k
        E: AddContext<I, C>,
657
2.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.06k
    {
659
2.06k
        Context::new(self, context)
660
2.06k
    }
<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.06k
    where
654
2.06k
        Self: core::marker::Sized,
655
2.06k
        I: Stream,
656
2.06k
        E: AddContext<I, C>,
657
2.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.06k
    {
659
2.06k
        Context::new(self, context)
660
2.06k
    }
<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.06k
    where
654
2.06k
        Self: core::marker::Sized,
655
2.06k
        I: Stream,
656
2.06k
        E: AddContext<I, C>,
657
2.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.06k
    {
659
2.06k
        Context::new(self, context)
660
2.06k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
834
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
834
    where
654
834
        Self: core::marker::Sized,
655
834
        I: Stream,
656
834
        E: AddContext<I, C>,
657
834
        C: Clone + crate::lib::std::fmt::Debug,
658
834
    {
659
834
        Context::new(self, context)
660
834
    }
<gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.06k
    where
654
2.06k
        Self: core::marker::Sized,
655
2.06k
        I: Stream,
656
2.06k
        E: AddContext<I, C>,
657
2.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.06k
    {
659
2.06k
        Context::new(self, context)
660
2.06k
    }
<gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.06k
    where
654
2.06k
        Self: core::marker::Sized,
655
2.06k
        I: Stream,
656
2.06k
        E: AddContext<I, C>,
657
2.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.06k
    {
659
2.06k
        Context::new(self, context)
660
2.06k
    }
<gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.06k
    where
654
2.06k
        Self: core::marker::Sized,
655
2.06k
        I: Stream,
656
2.06k
        E: AddContext<I, C>,
657
2.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.06k
    {
659
2.06k
        Context::new(self, context)
660
2.06k
    }
<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.99k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.99k
    where
654
1.99k
        Self: core::marker::Sized,
655
1.99k
        I: Stream,
656
1.99k
        E: AddContext<I, C>,
657
1.99k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.99k
    {
659
1.99k
        Context::new(self, context)
660
1.99k
    }
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.99k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.99k
    where
654
1.99k
        Self: core::marker::Sized,
655
1.99k
        I: Stream,
656
1.99k
        E: AddContext<I, C>,
657
1.99k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.99k
    {
659
1.99k
        Context::new(self, context)
660
1.99k
    }
<gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.99k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.99k
    where
654
1.99k
        Self: core::marker::Sized,
655
1.99k
        I: Stream,
656
1.99k
        E: AddContext<I, C>,
657
1.99k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.99k
    {
659
1.99k
        Context::new(self, context)
660
1.99k
    }
<gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.99k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.99k
    where
654
1.99k
        Self: core::marker::Sized,
655
1.99k
        I: Stream,
656
1.99k
        E: AddContext<I, C>,
657
1.99k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.99k
    {
659
1.99k
        Context::new(self, context)
660
1.99k
    }
<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.04M
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.04M
    where
654
1.04M
        Self: core::marker::Sized,
655
1.04M
        I: Stream,
656
1.04M
        E: AddContext<I, C>,
657
1.04M
        C: Clone + crate::lib::std::fmt::Debug,
658
1.04M
    {
659
1.04M
        Context::new(self, context)
660
1.04M
    }
<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()> as winnow::parser::Parser<&[u8], i64, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
7.66k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
7.66k
    where
654
7.66k
        Self: core::marker::Sized,
655
7.66k
        I: Stream,
656
7.66k
        E: AddContext<I, C>,
657
7.66k
        C: Clone + crate::lib::std::fmt::Debug,
658
7.66k
    {
659
7.66k
        Context::new(self, context)
660
7.66k
    }
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
7.66k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
7.66k
    where
654
7.66k
        Self: core::marker::Sized,
655
7.66k
        I: Stream,
656
7.66k
        E: AddContext<I, C>,
657
7.66k
        C: Clone + crate::lib::std::fmt::Debug,
658
7.66k
    {
659
7.66k
        Context::new(self, context)
660
7.66k
    }
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
7.66k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
7.66k
    where
654
7.66k
        Self: core::marker::Sized,
655
7.66k
        I: Stream,
656
7.66k
        E: AddContext<I, C>,
657
7.66k
        C: Clone + crate::lib::std::fmt::Debug,
658
7.66k
    {
659
7.66k
        Context::new(self, context)
660
7.66k
    }
<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
7.66k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
7.66k
    where
654
7.66k
        Self: core::marker::Sized,
655
7.66k
        I: Stream,
656
7.66k
        E: AddContext<I, C>,
657
7.66k
        C: Clone + crate::lib::std::fmt::Debug,
658
7.66k
    {
659
7.66k
        Context::new(self, context)
660
7.66k
    }
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
7.66k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
7.66k
    where
654
7.66k
        Self: core::marker::Sized,
655
7.66k
        I: Stream,
656
7.66k
        E: AddContext<I, C>,
657
7.66k
        C: Clone + crate::lib::std::fmt::Debug,
658
7.66k
    {
659
7.66k
        Context::new(self, context)
660
7.66k
    }
<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
720
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
720
    where
654
720
        Self: core::marker::Sized,
655
720
        I: Stream,
656
720
        E: AddContext<I, C>,
657
720
        C: Clone + crate::lib::std::fmt::Debug,
658
720
    {
659
720
        Context::new(self, context)
660
720
    }
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.65k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.65k
    where
654
1.65k
        Self: core::marker::Sized,
655
1.65k
        I: Stream,
656
1.65k
        E: AddContext<I, C>,
657
1.65k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.65k
    {
659
1.65k
        Context::new(self, context)
660
1.65k
    }
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
5.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
5.06k
    where
654
5.06k
        Self: core::marker::Sized,
655
5.06k
        I: Stream,
656
5.06k
        E: AddContext<I, C>,
657
5.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
5.06k
    {
659
5.06k
        Context::new(self, context)
660
5.06k
    }
<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
521k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
521k
    where
654
521k
        Self: core::marker::Sized,
655
521k
        I: Stream,
656
521k
        E: AddContext<I, C>,
657
521k
        C: Clone + crate::lib::std::fmt::Debug,
658
521k
    {
659
521k
        Context::new(self, context)
660
521k
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.06k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.06k
    where
654
2.06k
        Self: core::marker::Sized,
655
2.06k
        I: Stream,
656
2.06k
        E: AddContext<I, C>,
657
2.06k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.06k
    {
659
2.06k
        Context::new(self, context)
660
2.06k
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
2.78k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
2.78k
    where
654
2.78k
        Self: core::marker::Sized,
655
2.78k
        I: Stream,
656
2.78k
        E: AddContext<I, C>,
657
2.78k
        C: Clone + crate::lib::std::fmt::Debug,
658
2.78k
    {
659
2.78k
        Context::new(self, context)
660
2.78k
    }
<<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.99k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.99k
    where
654
1.99k
        Self: core::marker::Sized,
655
1.99k
        I: Stream,
656
1.99k
        E: AddContext<I, C>,
657
1.99k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.99k
    {
659
1.99k
        Context::new(self, context)
660
1.99k
    }
<<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.71k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.71k
    where
654
1.71k
        Self: core::marker::Sized,
655
1.71k
        I: Stream,
656
1.71k
        E: AddContext<I, C>,
657
1.71k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.71k
    {
659
1.71k
        Context::new(self, context)
660
1.71k
    }
<<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext>
Line
Count
Source
652
1.90k
    fn context<C>(self, context: C) -> Context<Self, I, O, E, C>
653
1.90k
    where
654
1.90k
        Self: core::marker::Sized,
655
1.90k
        I: Stream,
656
1.90k
        E: AddContext<I, C>,
657
1.90k
        C: Clone + crate::lib::std::fmt::Debug,
658
1.90k
    {
659
1.90k
        Context::new(self, context)
660
1.90k
    }
661
662
    /// Transforms [`Incomplete`][crate::error::ErrMode::Incomplete] into [`Backtrack`][crate::error::ErrMode::Backtrack]
663
    ///
664
    /// # Example
665
    ///
666
    /// ```rust
667
    /// # use winnow::{error::ErrMode, error::ErrorKind, error::InputError, stream::Partial, Parser};
668
    /// # use winnow::token::take;
669
    /// # fn main() {
670
    ///
671
    /// let mut parser = take(5u8).complete_err();
672
    ///
673
    /// assert_eq!(parser.parse_peek(Partial::new("abcdefg")), Ok((Partial::new("fg"), "abcde")));
674
    /// assert_eq!(parser.parse_peek(Partial::new("abcd")), Err(ErrMode::Backtrack(InputError::new(Partial::new("abcd"), ErrorKind::Complete))));
675
    /// # }
676
    /// ```
677
    #[inline(always)]
678
0
    fn complete_err(self) -> CompleteErr<Self>
679
0
    where
680
0
        Self: core::marker::Sized,
681
0
    {
682
0
        CompleteErr::new(self)
683
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::complete_err
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::complete_err
684
685
    /// Convert the parser's error to another type using [`std::convert::From`]
686
    #[inline(always)]
687
0
    fn err_into<E2>(self) -> ErrInto<Self, I, O, E, E2>
688
0
    where
689
0
        Self: core::marker::Sized,
690
0
        E: Into<E2>,
691
0
    {
692
0
        ErrInto::new(self)
693
0
    }
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::err_into::<_>
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::err_into::<_>
694
695
    /// Recover from an error by skipping everything `recover` consumes and trying again
696
    ///
697
    /// If `recover` consumes nothing, the error is returned, allowing an alternative recovery
698
    /// method.
699
    ///
700
    /// This commits the parse result, preventing alternative branch paths like with
701
    /// [`winnow::combinator::alt`][crate::combinator::alt].
702
    #[inline(always)]
703
    #[cfg(feature = "unstable-recover")]
704
    #[cfg(feature = "std")]
705
    fn retry_after<R>(self, recover: R) -> RetryAfter<Self, R, I, O, E>
706
    where
707
        Self: core::marker::Sized,
708
        R: Parser<I, (), E>,
709
        I: Stream,
710
        I: Recover<E>,
711
        E: FromRecoverableError<I, E>,
712
    {
713
        RetryAfter::new(self, recover)
714
    }
715
716
    /// Recover from an error by skipping this parse and everything `recover` consumes
717
    ///
718
    /// This commits the parse result, preventing alternative branch paths like with
719
    /// [`winnow::combinator::alt`][crate::combinator::alt].
720
    #[inline(always)]
721
    #[cfg(feature = "unstable-recover")]
722
    #[cfg(feature = "std")]
723
    fn resume_after<R>(self, recover: R) -> ResumeAfter<Self, R, I, O, E>
724
    where
725
        Self: core::marker::Sized,
726
        R: Parser<I, (), E>,
727
        I: Stream,
728
        I: Recover<E>,
729
        E: FromRecoverableError<I, E>,
730
    {
731
        ResumeAfter::new(self, recover)
732
    }
733
}
734
735
impl<'a, I, O, E, F> Parser<I, O, E> for F
736
where
737
    F: FnMut(&mut I) -> PResult<O, E> + 'a,
738
    I: Stream,
739
{
740
    #[inline(always)]
741
971M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
971M
        self(i)
743
971M
    }
<gix_ref::store_impl::packed::decode::header<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::decode::Header, ()>>::parse_next
Line
Count
Source
741
19
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
19
        self(i)
743
19
    }
<gix_ref::store_impl::packed::decode::reference<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::Reference, ()>>::parse_next
Line
Count
Source
741
594k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
594k
        self(i)
743
594k
    }
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], gix_ref::store_impl::packed::decode::Header, &[u8], (), gix_ref::store_impl::packed::decode::header<()>, winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ContextError, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
<winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
609k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
609k
        self(i)
743
609k
    }
Unexecuted instantiation: <gix_ref::parse::newline<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
4.26k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.26k
        self(i)
743
4.26k
    }
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
<winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
594k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
594k
        self(i)
743
594k
    }
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next
<gix_ref::parse::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
609k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
609k
        self(i)
743
609k
    }
Unexecuted instantiation: <gix_ref::parse::hex_hash<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next
<gix_ref::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.12M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.12M
        self(i)
743
1.12M
    }
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
594k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
594k
        self(i)
743
594k
    }
<winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
594k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
594k
        self(i)
743
594k
    }
<winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
4.94k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.94k
        self(i)
743
4.94k
    }
Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
<winnow::token::literal<&[u8; 18], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
19
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
19
        self(i)
743
19
    }
<winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.89M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.89M
        self(i)
743
1.89M
    }
Unexecuted instantiation: <winnow::token::literal<&str, &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next
<winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, ()>>::parse_next
Line
Count
Source
741
4.94k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.94k
        self(i)
743
4.94k
    }
<winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
16.8k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
16.8k
        self(i)
743
16.8k
    }
<winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
7.37k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
7.37k
        self(i)
743
7.37k
    }
<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
4.26k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.26k
        self(i)
743
4.26k
    }
<gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
47.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
47.7k
        self(i)
743
47.7k
    }
<gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
9.32k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
9.32k
        self(i)
743
9.32k
    }
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
<winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.12M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.12M
        self(i)
743
1.12M
    }
<winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
29.3k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
29.3k
        self(i)
743
29.3k
    }
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Line
Count
Source
741
594k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
594k
        self(i)
743
594k
    }
<winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
16.8k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
16.8k
        self(i)
743
16.8k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
594k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
594k
        self(i)
743
594k
    }
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
<winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
4.94k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.94k
        self(i)
743
4.94k
    }
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.11M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.11M
        self(i)
743
1.11M
    }
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
19
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
19
        self(i)
743
19
    }
<<winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
4.26k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.26k
        self(i)
743
4.26k
    }
<<winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
47.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
47.7k
        self(i)
743
47.7k
    }
<<winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
9.32k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
9.32k
        self(i)
743
9.32k
    }
<<winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
519k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
519k
        self(i)
743
519k
    }
<<winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next
Line
Count
Source
741
463k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
463k
        self(i)
743
463k
    }
Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
<winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
609k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
609k
        self(i)
743
609k
    }
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
4.38k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.38k
        self(i)
743
4.38k
    }
Unexecuted instantiation: <gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
<gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, ()>>::parse_next
Line
Count
Source
741
47.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
47.7k
        self(i)
743
47.7k
    }
Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::message::decode::subject_and_body<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
36.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
36.7k
        self(i)
743
36.7k
    }
Unexecuted instantiation: <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<winnow::token::take<usize, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
35.3k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
35.3k
        self(i)
743
35.3k
    }
<winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
38.0k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
38.0k
        self(i)
743
38.0k
    }
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#5} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
19.2k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
19.2k
        self(i)
743
19.2k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
16.8k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
16.8k
        self(i)
743
16.8k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
23.5k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
23.5k
        self(i)
743
23.5k
    }
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
33.2k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
33.2k
        self(i)
743
33.2k
    }
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next
Line
Count
Source
741
25.5k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
25.5k
        self(i)
743
25.5k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
36.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
36.7k
        self(i)
743
36.7k
    }
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next
Line
Count
Source
741
47.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
47.7k
        self(i)
743
47.7k
    }
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#7} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next
Line
Count
Source
741
19.2k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
19.2k
        self(i)
743
19.2k
    }
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next
Line
Count
Source
741
23.5k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
23.5k
        self(i)
743
23.5k
    }
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i64, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i64, ()>>::parse_next
Line
Count
Source
741
36.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
36.7k
        self(i)
743
36.7k
    }
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0}, &[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
<<winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next
Line
Count
Source
741
25.5k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
25.5k
        self(i)
743
25.5k
    }
<<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next
Line
Count
Source
741
47.7k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
47.7k
        self(i)
743
47.7k
    }
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>), &[u8], (&[u8], bstr::bstring::BString), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_till<gix_object::commit::message::decode::subject_and_body<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], (), (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
<winnow::combinator::core::eof<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
7.37k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
7.37k
        self(i)
743
7.37k
    }
<winnow::combinator::core::rest<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
4.38k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.38k
        self(i)
743
4.38k
    }
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], (), gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_next
<gix_config::parse::nom::take_newlines1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
39.7M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
39.7M
        self(i)
743
39.7M
    }
<gix_config::parse::nom::subsection_unescaped as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.89M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.89M
        self(i)
743
1.89M
    }
<gix_config::parse::nom::subsection_escaped_char as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.22M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.22M
        self(i)
743
1.22M
    }
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
91.1M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
91.1M
        self(i)
743
91.1M
    }
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>, (winnow::combinator::parser::Map<gix_config::parse::nom::comment, gix_config::parse::Event::Comment, &[u8], gix_config::parse::Comment, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<gix_config::parse::nom::take_spaces1, gix_config::parse::nom::from_bytes::{closure#0}, &[u8], &bstr::bstr::BStr, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, gix_config::parse::nom::from_bytes::{closure#1})>::{closure#0}, &[u8], gix_config::parse::Event, (), winnow::error::InputError<&[u8]>>>::fold<gix_config::parse::nom::from_bytes::{closure#2}, gix_config::parse::nom::from_bytes::{closure#3}, ()>::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
20.0k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
20.0k
        self(i)
743
20.0k
    }
<winnow::token::take_while<gix_config::parse::nom::value_impl::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.98M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.98M
        self(i)
743
1.98M
    }
<winnow::token::take_while<gix_config::parse::nom::is_subsection_unescaped_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.89M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.89M
        self(i)
743
1.89M
    }
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::InputError<&[u8]>, gix_config::parse::nom::subsection_subset>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.89M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.89M
        self(i)
743
1.89M
    }
<winnow::combinator::core::opt<&[u8], gix_config::parse::Comment, winnow::error::InputError<&[u8]>, gix_config::parse::nom::comment>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_config::parse::Comment>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
36.0M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
36.0M
        self(i)
743
36.0M
    }
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, gix_config::parse::nom::config_name>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
36.0M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
36.0M
        self(i)
743
36.0M
    }
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, gix_config::parse::nom::take_spaces1>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
51.8M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
51.8M
        self(i)
743
51.8M
    }
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, gix_config::parse::nom::take_newlines1>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
36.0M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
36.0M
        self(i)
743
36.0M
    }
<winnow::combinator::core::opt<&[u8], char, winnow::error::InputError<&[u8]>, char>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<char>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
14.9M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
14.9M
        self(i)
743
14.9M
    }
<winnow::combinator::core::opt<&[u8], u8, winnow::error::InputError<&[u8]>, winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], char, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
10.7M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
10.7M
        self(i)
743
10.7M
    }
<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (gix_config::parse::nom::subsection_unescaped, gix_config::parse::nom::subsection_escaped_char)>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.89M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.89M
        self(i)
743
1.89M
    }
<winnow::combinator::sequence::preceded<&[u8], char, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::parser::Take<winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, &[u8], u8, winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.22M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.22M
        self(i)
743
1.22M
    }
<winnow::combinator::sequence::preceded<&[u8], char, &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, char, winnow::combinator::parser::Map<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
10.8M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
10.8M
        self(i)
743
10.8M
    }
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
91.1M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
91.1M
        self(i)
743
91.1M
    }
<winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
14.9M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
14.9M
        self(i)
743
14.9M
    }
<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
10.7M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
10.7M
        self(i)
743
10.7M
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_space, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
56.0M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
56.0M
        self(i)
743
56.0M
    }
<winnow::token::literal<char, &[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
27.4M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
27.4M
        self(i)
743
27.4M
    }
<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
8.75M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
8.75M
        self(i)
743
8.75M
    }
<winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0}, &str>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
398k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
398k
        self(i)
743
398k
    }
<gix_config::parse::nom::from_bytes::{closure#1} as winnow::parser::Parser<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
3.68M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
3.68M
        self(i)
743
3.68M
    }
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
39.7M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
39.7M
        self(i)
743
39.7M
    }
<<winnow::combinator::multi::Repeat<gix_config::parse::nom::from_bytes::{closure#4}, &[u8], (), (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
12.9k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
12.9k
        self(i)
743
12.9k
    }
<gix_config::parse::nom::take_spaces1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
56.0M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
56.0M
        self(i)
743
56.0M
    }
<gix_config::parse::nom::comment as winnow::parser::Parser<&[u8], gix_config::parse::Comment, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
43.4M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
43.4M
        self(i)
743
43.4M
    }
<winnow::token::literal<&str, &[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
125M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
125M
        self(i)
743
125M
    }
<gix_config::parse::nom::config_name as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
36.0M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
36.0M
        self(i)
743
36.0M
    }
<gix_config::parse::nom::sub_section as winnow::parser::Parser<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
398k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
398k
        self(i)
743
398k
    }
<gix_config::parse::nom::subsection_subset as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
1.89M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.89M
        self(i)
743
1.89M
    }
<winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
398k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
398k
        self(i)
743
398k
    }
<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
64.5M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
64.5M
        self(i)
743
64.5M
    }
<winnow::combinator::branch::alt<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>, (winnow::combinator::parser::Map<gix_config::parse::nom::comment, gix_config::parse::Event::Comment, &[u8], gix_config::parse::Comment, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<gix_config::parse::nom::take_spaces1, gix_config::parse::nom::from_bytes::{closure#0}, &[u8], &bstr::bstr::BStr, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, gix_config::parse::nom::from_bytes::{closure#1})>::{closure#0} as winnow::parser::Parser<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
7.39M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
7.39M
        self(i)
743
7.39M
    }
<gix_config::parse::nom::from_bytes::{closure#4} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
741
10.8M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
10.8M
        self(i)
743
10.8M
    }
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next
Unexecuted instantiation: <gix_ref::store_impl::packed::decode::header<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::decode::Header, ()>>::parse_next
Unexecuted instantiation: <gix_ref::store_impl::packed::decode::reference<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::Reference, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], gix_ref::store_impl::packed::decode::Header, &[u8], (), gix_ref::store_impl::packed::decode::header<()>, winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ContextError, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_ref::parse::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_ref::parse::hex_hash<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <gix_ref::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 18], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&str, &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_ref::parse::newline<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#7} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i64, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i64, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0}, &[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<winnow::combinator::parser::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>), &[u8], (&[u8], bstr::bstring::BString), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::message::decode::subject_and_body<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::token::take<usize, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, ()>>::parse_next
Unexecuted instantiation: <gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_till<gix_object::commit::message::decode::subject_and_body<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], (), (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#5} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], (), gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <winnow::token::take_till<gix_object::commit::message::decode::subject_and_body<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], (), (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<winnow::token::literal<&[u8], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
5.43M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.43M
        self(i)
743
5.43M
    }
<winnow::combinator::core::eof<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.75k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.75k
        self(i)
743
1.75k
    }
<winnow::combinator::core::rest<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.73k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.73k
        self(i)
743
1.73k
    }
<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
521k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
521k
        self(i)
743
521k
    }
<gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
1.67k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.67k
        self(i)
743
1.67k
    }
<gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
731
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
731
        self(i)
743
731
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
720
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
720
        self(i)
743
720
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
5.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.06k
        self(i)
743
5.06k
    }
<<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
1.65k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.65k
        self(i)
743
1.65k
    }
<gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Line
Count
Source
741
521k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
521k
        self(i)
743
521k
    }
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.73k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.73k
        self(i)
743
1.73k
    }
<winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
94.1k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
94.1k
        self(i)
743
94.1k
    }
<winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
14.3k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
14.3k
        self(i)
743
14.3k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
4.03k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.03k
        self(i)
743
4.03k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
3.88k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
3.88k
        self(i)
743
3.88k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
4.19k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.19k
        self(i)
743
4.19k
    }
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
8.56k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
8.56k
        self(i)
743
8.56k
    }
<winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
4.12M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.12M
        self(i)
743
4.12M
    }
<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Line
Count
Source
741
731
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
731
        self(i)
743
731
    }
<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Line
Count
Source
741
720
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
720
        self(i)
743
720
    }
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Line
Count
Source
741
1.67k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.67k
        self(i)
743
1.67k
    }
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Line
Count
Source
741
1.65k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.65k
        self(i)
743
1.65k
    }
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Line
Count
Source
741
5.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.06k
        self(i)
743
5.06k
    }
<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Line
Count
Source
741
521k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
521k
        self(i)
743
521k
    }
<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next
Line
Count
Source
741
4.35k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.35k
        self(i)
743
4.35k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
5.22k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.22k
        self(i)
743
5.22k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
2.06M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.06M
        self(i)
743
2.06M
    }
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.14k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.14k
        self(i)
743
1.14k
    }
<winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
2.74k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.74k
        self(i)
743
2.74k
    }
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next
Line
Count
Source
741
7.66k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
7.66k
        self(i)
743
7.66k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
834
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
834
        self(i)
743
834
    }
<winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
2.72k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.72k
        self(i)
743
2.72k
    }
<gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.99k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.99k
        self(i)
743
1.99k
    }
<gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.90k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.90k
        self(i)
743
1.90k
    }
<gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
2.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.06k
        self(i)
743
2.06k
    }
<gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
1.97k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.97k
        self(i)
743
1.97k
    }
<gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
849
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
849
        self(i)
743
849
    }
<gix_object::commit::decode::commit<()>::{closure#7} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
509k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
509k
        self(i)
743
509k
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
2.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.06k
        self(i)
743
2.06k
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
2.78k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.78k
        self(i)
743
2.78k
    }
<<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.99k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.99k
        self(i)
743
1.99k
    }
<<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.90k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.90k
        self(i)
743
1.90k
    }
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Line
Count
Source
741
731
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
731
        self(i)
743
731
    }
<<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), ()>>::parse_next
Line
Count
Source
741
1.04M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.04M
        self(i)
743
1.04M
    }
<<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next
Line
Count
Source
741
1.97k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.97k
        self(i)
743
1.97k
    }
<<winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next
Line
Count
Source
741
1.97k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.97k
        self(i)
743
1.97k
    }
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next
Line
Count
Source
741
4.03k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.03k
        self(i)
743
4.03k
    }
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next
Line
Count
Source
741
4.19k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.19k
        self(i)
743
4.19k
    }
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i64, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i64, ()>>::parse_next
Line
Count
Source
741
5.22k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.22k
        self(i)
743
5.22k
    }
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next
Line
Count
Source
741
1.90k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.90k
        self(i)
743
1.90k
    }
<<winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Line
Count
Source
741
731
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
731
        self(i)
743
731
    }
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Line
Count
Source
741
731
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
731
        self(i)
743
731
    }
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Line
Count
Source
741
720
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
720
        self(i)
743
720
    }
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Line
Count
Source
741
1.67k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.67k
        self(i)
743
1.67k
    }
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next
Line
Count
Source
741
1.65k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.65k
        self(i)
743
1.65k
    }
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Line
Count
Source
741
5.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.06k
        self(i)
743
5.06k
    }
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0}, &[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next
Line
Count
Source
741
521k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
521k
        self(i)
743
521k
    }
<<winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next
Line
Count
Source
741
4.35k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
4.35k
        self(i)
743
4.35k
    }
<<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next
Line
Count
Source
741
7.66k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
7.66k
        self(i)
743
7.66k
    }
<<winnow::combinator::parser::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
834
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
834
        self(i)
743
834
    }
<<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.99k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.99k
        self(i)
743
1.99k
    }
<<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
2.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.06k
        self(i)
743
2.06k
    }
<<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
1.97k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.97k
        self(i)
743
1.97k
    }
<<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
849
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
849
        self(i)
743
849
    }
<<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
2.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.06k
        self(i)
743
2.06k
    }
<<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
2.78k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.78k
        self(i)
743
2.78k
    }
<<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.99k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.99k
        self(i)
743
1.99k
    }
<<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.90k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.90k
        self(i)
743
1.90k
    }
<<winnow::combinator::parser::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>), &[u8], (&[u8], bstr::bstring::BString), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Line
Count
Source
741
1.04M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.04M
        self(i)
743
1.04M
    }
<winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
6.29k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
6.29k
        self(i)
743
6.29k
    }
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
3.81k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
3.81k
        self(i)
743
3.81k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.45k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.45k
        self(i)
743
1.45k
    }
<winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
8.93k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
8.93k
        self(i)
743
8.93k
    }
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
18.2k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
18.2k
        self(i)
743
18.2k
    }
<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Line
Count
Source
741
1.01M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.01M
        self(i)
743
1.01M
    }
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], (), gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next
<gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
14.3k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
14.3k
        self(i)
743
14.3k
    }
<gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
7.66k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
7.66k
        self(i)
743
7.66k
    }
<winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.75k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.75k
        self(i)
743
1.75k
    }
<gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
2.74k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.74k
        self(i)
743
2.74k
    }
<gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
1.14k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.14k
        self(i)
743
1.14k
    }
<gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, ()>>::parse_next
Line
Count
Source
741
7.66k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
7.66k
        self(i)
743
7.66k
    }
Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::message::decode::subject_and_body<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
<winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.70k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.70k
        self(i)
743
1.70k
    }
<winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.70k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.70k
        self(i)
743
1.70k
    }
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
3.79k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
3.79k
        self(i)
743
3.79k
    }
<winnow::token::take<usize, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
5.09k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.09k
        self(i)
743
5.09k
    }
<winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next
Line
Count
Source
741
1.46k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.46k
        self(i)
743
1.46k
    }
<winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
1.46k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.46k
        self(i)
743
1.46k
    }
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
35.8k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
35.8k
        self(i)
743
35.8k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.71k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.71k
        self(i)
743
1.71k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
3.81k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
3.81k
        self(i)
743
3.81k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next
Line
Count
Source
741
1.45k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.45k
        self(i)
743
1.45k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next
Line
Count
Source
741
8.93k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
8.93k
        self(i)
743
8.93k
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
18.2k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
18.2k
        self(i)
743
18.2k
    }
<gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, ()>>::parse_next
Line
Count
Source
741
1.99k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.99k
        self(i)
743
1.99k
    }
<gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, ()>>::parse_next
Line
Count
Source
741
2.06k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
2.06k
        self(i)
743
2.06k
    }
<gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, ()>>::parse_next
Line
Count
Source
741
701
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
701
        self(i)
743
701
    }
<winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next
Line
Count
Source
741
378
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
378
        self(i)
743
378
    }
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
521k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
521k
        self(i)
743
521k
    }
<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Line
Count
Source
741
1.12M
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
1.12M
        self(i)
743
1.12M
    }
<gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next
Line
Count
Source
741
5.10k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
5.10k
        self(i)
743
5.10k
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
521k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
521k
        self(i)
743
521k
    }
<<gix_object::CommitRefIter>::next_inner_::{closure#5} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
741
508k
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
742
508k
        self(i)
743
508k
    }
744
}
745
746
/// This is a shortcut for [`one_of`][crate::token::one_of].
747
///
748
/// # Example
749
///
750
/// ```
751
/// # use winnow::prelude::*;
752
/// # use winnow::{error::ErrMode, error::{ErrorKind, InputError}};
753
/// fn parser<'s>(i: &mut &'s [u8]) -> PResult<u8, InputError<&'s [u8]>>  {
754
///     b'a'.parse_next(i)
755
/// }
756
/// assert_eq!(parser.parse_peek(&b"abc"[..]), Ok((&b"bc"[..], b'a')));
757
/// assert_eq!(parser.parse_peek(&b" abc"[..]), Err(ErrMode::Backtrack(InputError::new(&b" abc"[..], ErrorKind::Tag))));
758
/// assert_eq!(parser.parse_peek(&b"bc"[..]), Err(ErrMode::Backtrack(InputError::new(&b"bc"[..], ErrorKind::Tag))));
759
/// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Tag))));
760
/// ```
761
impl<I, E> Parser<I, u8, E> for u8
762
where
763
    I: StreamIsPartial,
764
    I: Stream,
765
    I: Compare<u8>,
766
    E: ParserError<I>,
767
{
768
    #[inline(always)]
769
29.3k
    fn parse_next(&mut self, i: &mut I) -> PResult<u8, E> {
770
29.3k
        crate::token::literal(*self).value(*self).parse_next(i)
771
29.3k
    }
<u8 as winnow::parser::Parser<&[u8], u8, ()>>::parse_next
Line
Count
Source
769
29.3k
    fn parse_next(&mut self, i: &mut I) -> PResult<u8, E> {
770
29.3k
        crate::token::literal(*self).value(*self).parse_next(i)
771
29.3k
    }
Unexecuted instantiation: <u8 as winnow::parser::Parser<_, u8, _>>::parse_next
Unexecuted instantiation: <u8 as winnow::parser::Parser<&[u8], u8, ()>>::parse_next
Unexecuted instantiation: <u8 as winnow::parser::Parser<_, u8, _>>::parse_next
772
}
773
774
/// This is a shortcut for [`one_of`][crate::token::one_of].
775
///
776
/// # Example
777
///
778
/// ```
779
/// # use winnow::prelude::*;
780
/// # use winnow::{error::ErrMode, error::{ErrorKind, InputError}};
781
/// fn parser<'s>(i: &mut &'s str) -> PResult<char, InputError<&'s str>> {
782
///     'a'.parse_next(i)
783
/// }
784
/// assert_eq!(parser.parse_peek("abc"), Ok(("bc", 'a')));
785
/// assert_eq!(parser.parse_peek(" abc"), Err(ErrMode::Backtrack(InputError::new(" abc", ErrorKind::Tag))));
786
/// assert_eq!(parser.parse_peek("bc"), Err(ErrMode::Backtrack(InputError::new("bc", ErrorKind::Tag))));
787
/// assert_eq!(parser.parse_peek(""), Err(ErrMode::Backtrack(InputError::new("", ErrorKind::Tag))));
788
/// ```
789
impl<I, E> Parser<I, char, E> for char
790
where
791
    I: StreamIsPartial,
792
    I: Stream,
793
    I: Compare<char>,
794
    E: ParserError<I>,
795
{
796
    #[inline(always)]
797
27.4M
    fn parse_next(&mut self, i: &mut I) -> PResult<char, E> {
798
27.4M
        crate::token::literal(*self).value(*self).parse_next(i)
799
27.4M
    }
Unexecuted instantiation: <char as winnow::parser::Parser<_, char, _>>::parse_next
<char as winnow::parser::Parser<&[u8], char, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
797
27.4M
    fn parse_next(&mut self, i: &mut I) -> PResult<char, E> {
798
27.4M
        crate::token::literal(*self).value(*self).parse_next(i)
799
27.4M
    }
Unexecuted instantiation: <char as winnow::parser::Parser<_, char, _>>::parse_next
800
}
801
802
/// This is a shortcut for [`literal`][crate::token::literal].
803
///
804
/// # Example
805
/// ```rust
806
/// # use winnow::prelude::*;
807
/// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed};
808
/// # use winnow::combinator::alt;
809
/// # use winnow::token::take;
810
///
811
/// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> {
812
///   alt((&"Hello"[..], take(5usize))).parse_next(s)
813
/// }
814
///
815
/// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..])));
816
/// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..])));
817
/// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice))));
818
/// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice))));
819
/// ```
820
impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for &'s [u8]
821
where
822
    I: Compare<&'s [u8]> + StreamIsPartial,
823
    I: Stream,
824
{
825
    #[inline(always)]
826
5.43M
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
827
5.43M
        crate::token::literal(*self).parse_next(i)
828
5.43M
    }
Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
<&[u8] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Line
Count
Source
826
5.43M
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
827
5.43M
        crate::token::literal(*self).parse_next(i)
828
5.43M
    }
829
}
830
831
/// This is a shortcut for [`literal`][crate::token::literal].
832
///
833
/// # Example
834
/// ```rust
835
/// # use winnow::prelude::*;
836
/// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed};
837
/// # use winnow::combinator::alt;
838
/// # use winnow::token::take;
839
/// use winnow::ascii::Caseless;
840
///
841
/// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> {
842
///   alt((Caseless(&"hello"[..]), take(5usize))).parse_next(s)
843
/// }
844
///
845
/// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..])));
846
/// assert_eq!(parser.parse_peek(&b"hello, World!"[..]), Ok((&b", World!"[..], &b"hello"[..])));
847
/// assert_eq!(parser.parse_peek(&b"HeLlo, World!"[..]), Ok((&b", World!"[..], &b"HeLlo"[..])));
848
/// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..])));
849
/// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice))));
850
/// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice))));
851
/// ```
852
impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for AsciiCaseless<&'s [u8]>
853
where
854
    I: Compare<AsciiCaseless<&'s [u8]>> + StreamIsPartial,
855
    I: Stream,
856
{
857
    #[inline(always)]
858
0
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
859
0
        crate::token::literal(*self).parse_next(i)
860
0
    }
Unexecuted instantiation: <winnow::ascii::Caseless<&[u8]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
Unexecuted instantiation: <winnow::ascii::Caseless<&[u8]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
861
}
862
863
/// This is a shortcut for [`literal`][crate::token::literal].
864
///
865
/// # Example
866
/// ```rust
867
/// # use winnow::prelude::*;
868
/// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed};
869
/// # use winnow::combinator::alt;
870
/// # use winnow::token::take;
871
///
872
/// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> {
873
///   alt((b"Hello", take(5usize))).parse_next(s)
874
/// }
875
///
876
/// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..])));
877
/// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..])));
878
/// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice))));
879
/// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice))));
880
/// ```
881
impl<'s, I, E: ParserError<I>, const N: usize> Parser<I, <I as Stream>::Slice, E> for &'s [u8; N]
882
where
883
    I: Compare<&'s [u8; N]> + StreamIsPartial,
884
    I: Stream,
885
{
886
    #[inline(always)]
887
2.55M
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
888
2.55M
        crate::token::literal(*self).parse_next(i)
889
2.55M
    }
<&[u8; 18] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Line
Count
Source
887
19
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
888
19
        crate::token::literal(*self).parse_next(i)
889
19
    }
<&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Line
Count
Source
887
1.89M
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
888
1.89M
        crate::token::literal(*self).parse_next(i)
889
1.89M
    }
Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next
<&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Line
Count
Source
887
609k
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
888
609k
        crate::token::literal(*self).parse_next(i)
889
609k
    }
<&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Line
Count
Source
887
38.0k
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
888
38.0k
        crate::token::literal(*self).parse_next(i)
889
38.0k
    }
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8; _] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
Unexecuted instantiation: <&[u8; 18] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Unexecuted instantiation: <&[u8; _] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
<&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
Line
Count
Source
887
6.29k
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
888
6.29k
        crate::token::literal(*self).parse_next(i)
889
6.29k
    }
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next
890
}
891
892
/// This is a shortcut for [`literal`][crate::token::literal].
893
///
894
/// # Example
895
/// ```rust
896
/// # use winnow::prelude::*;
897
/// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed};
898
/// # use winnow::combinator::alt;
899
/// # use winnow::token::take;
900
/// use winnow::ascii::Caseless;
901
///
902
/// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> {
903
///   alt((Caseless(b"hello"), take(5usize))).parse_next(s)
904
/// }
905
///
906
/// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..])));
907
/// assert_eq!(parser.parse_peek(&b"hello, World!"[..]), Ok((&b", World!"[..], &b"hello"[..])));
908
/// assert_eq!(parser.parse_peek(&b"HeLlo, World!"[..]), Ok((&b", World!"[..], &b"HeLlo"[..])));
909
/// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..])));
910
/// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice))));
911
/// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice))));
912
/// ```
913
impl<'s, I, E: ParserError<I>, const N: usize> Parser<I, <I as Stream>::Slice, E>
914
    for AsciiCaseless<&'s [u8; N]>
915
where
916
    I: Compare<AsciiCaseless<&'s [u8; N]>> + StreamIsPartial,
917
    I: Stream,
918
{
919
    #[inline(always)]
920
0
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
921
0
        crate::token::literal(*self).parse_next(i)
922
0
    }
Unexecuted instantiation: <winnow::ascii::Caseless<&[u8; _]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
Unexecuted instantiation: <winnow::ascii::Caseless<&[u8; _]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
923
}
924
925
/// This is a shortcut for [`literal`][crate::token::literal].
926
///
927
/// # Example
928
/// ```rust
929
/// # use winnow::prelude::*;
930
/// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}};
931
/// # use winnow::combinator::alt;
932
/// # use winnow::token::take;
933
///
934
/// fn parser<'s>(s: &mut &'s str) -> PResult<&'s str, InputError<&'s str>> {
935
///   alt(("Hello", take(5usize))).parse_next(s)
936
/// }
937
///
938
/// assert_eq!(parser.parse_peek("Hello, World!"), Ok((", World!", "Hello")));
939
/// assert_eq!(parser.parse_peek("Something"), Ok(("hing", "Somet")));
940
/// assert_eq!(parser.parse_peek("Some"), Err(ErrMode::Backtrack(InputError::new("Some", ErrorKind::Slice))));
941
/// assert_eq!(parser.parse_peek(""), Err(ErrMode::Backtrack(InputError::new("", ErrorKind::Slice))));
942
/// ```
943
impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for &'s str
944
where
945
    I: Compare<&'s str> + StreamIsPartial,
946
    I: Stream,
947
{
948
    #[inline(always)]
949
125M
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
950
125M
        crate::token::literal(*self).parse_next(i)
951
125M
    }
Unexecuted instantiation: <&str as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <&str as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
<&str as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
949
125M
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
950
125M
        crate::token::literal(*self).parse_next(i)
951
125M
    }
Unexecuted instantiation: <&str as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next
Unexecuted instantiation: <&str as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
952
}
953
954
/// This is a shortcut for [`literal`][crate::token::literal].
955
///
956
/// # Example
957
/// ```rust
958
/// # use winnow::prelude::*;
959
/// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}};
960
/// # use winnow::combinator::alt;
961
/// # use winnow::token::take;
962
/// # use winnow::ascii::Caseless;
963
///
964
/// fn parser<'s>(s: &mut &'s str) -> PResult<&'s str, InputError<&'s str>> {
965
///   alt((Caseless("hello"), take(5usize))).parse_next(s)
966
/// }
967
///
968
/// assert_eq!(parser.parse_peek("Hello, World!"), Ok((", World!", "Hello")));
969
/// assert_eq!(parser.parse_peek("hello, World!"), Ok((", World!", "hello")));
970
/// assert_eq!(parser.parse_peek("HeLlo, World!"), Ok((", World!", "HeLlo")));
971
/// assert_eq!(parser.parse_peek("Something"), Ok(("hing", "Somet")));
972
/// assert_eq!(parser.parse_peek("Some"), Err(ErrMode::Backtrack(InputError::new("Some", ErrorKind::Slice))));
973
/// assert_eq!(parser.parse_peek(""), Err(ErrMode::Backtrack(InputError::new("", ErrorKind::Slice))));
974
/// ```
975
impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for AsciiCaseless<&'s str>
976
where
977
    I: Compare<AsciiCaseless<&'s str>> + StreamIsPartial,
978
    I: Stream,
979
{
980
    #[inline(always)]
981
0
    fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> {
982
0
        crate::token::literal(*self).parse_next(i)
983
0
    }
Unexecuted instantiation: <winnow::ascii::Caseless<&str> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
Unexecuted instantiation: <winnow::ascii::Caseless<&str> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next
984
}
985
986
impl<I: Stream, E: ParserError<I>> Parser<I, (), E> for () {
987
    #[inline(always)]
988
0
    fn parse_next(&mut self, _i: &mut I) -> PResult<(), E> {
989
0
        Ok(())
990
0
    }
Unexecuted instantiation: <() as winnow::parser::Parser<_, (), _>>::parse_next
Unexecuted instantiation: <() as winnow::parser::Parser<_, (), _>>::parse_next
991
}
992
993
macro_rules! impl_parser_for_tuple {
994
  ($($parser:ident $output:ident),+) => (
995
    #[allow(non_snake_case)]
996
    impl<I: Stream, $($output),+, E: ParserError<I>, $($parser),+> Parser<I, ($($output),+,), E> for ($($parser),+,)
997
    where
998
      $($parser: Parser<I, $output, E>),+
999
    {
1000
      #[inline(always)]
1001
85.7M
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
85.7M
        let ($(ref mut $parser),+,) = *self;
1003
1004
59.8M
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
25.9M
        Ok(($($output),+,))
1007
85.7M
      }
<(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::parse_next
Line
Count
Source
1001
463k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
463k
        let ($(ref mut $parser),+,) = *self;
1003
1004
450k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
12.6k
        Ok(($($output),+,))
1007
463k
      }
<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next
Line
Count
Source
1001
463k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
463k
        let ($(ref mut $parser),+,) = *self;
1003
1004
446k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
16.8k
        Ok(($($output),+,))
1007
463k
      }
<(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
1001
594k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
594k
        let ($(ref mut $parser),+,) = *self;
1003
1004
594k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
594k
        Ok(($($output),+,))
1007
594k
      }
Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::parse_next
Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::parse_next
<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::parse_next
Line
Count
Source
1001
36.7k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
36.7k
        let ($(ref mut $parser),+,) = *self;
1003
1004
19.9k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
16.8k
        Ok(($($output),+,))
1007
36.7k
      }
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <(winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <(_,) as winnow::parser::Parser<_, (_,), _>>::parse_next
Unexecuted instantiation: <(_, _) as winnow::parser::Parser<_, (_, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _) as winnow::parser::Parser<_, (_, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _) as winnow::parser::Parser<_, (_, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], [char; 2], winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_config::parse::nom::comment::{closure#1}, &[u8], &[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>) as winnow::parser::Parser<&[u8], (u8, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
1001
43.4M
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
43.4M
        let ($(ref mut $parser),+,) = *self;
1003
1004
34.7M
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
8.75M
        Ok(($($output),+,))
1007
43.4M
      }
<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (u8, &[u8]), winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
1001
36.0M
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
36.0M
        let ($(ref mut $parser),+,) = *self;
1003
1004
21.1M
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
14.9M
        Ok(($($output),+,))
1007
36.0M
      }
<(gix_config::parse::nom::take_spaces1, winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0}, &str>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>), winnow::error::InputError<&[u8]>>>::parse_next
Line
Count
Source
1001
398k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
398k
        let ($(ref mut $parser),+,) = *self;
1003
1004
398k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
397k
        Ok(($($output),+,))
1007
398k
      }
Unexecuted instantiation: <(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::parse_next
Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::parse_next
Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Unexecuted instantiation: <(winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Unexecuted instantiation: <(_,) as winnow::parser::Parser<_, (_,), _>>::parse_next
Unexecuted instantiation: <(_, _) as winnow::parser::Parser<_, (_, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _) as winnow::parser::Parser<_, (_, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _) as winnow::parser::Parser<_, (_, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next
<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next
Line
Count
Source
1001
1.04M
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
1.04M
        let ($(ref mut $parser),+,) = *self;
1003
1004
1.04M
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
25.3k
        Ok(($($output),+,))
1007
1.04M
      }
<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::parse_next
Line
Count
Source
1001
1.04M
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
1.04M
        let ($(ref mut $parser),+,) = *self;
1003
1004
1.04M
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
25.3k
        Ok(($($output),+,))
1007
1.04M
      }
<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::parse_next
Line
Count
Source
1001
378
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
378
        let ($(ref mut $parser),+,) = *self;
1003
1004
264
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
264
        Ok(($($output),+,))
1007
378
      }
<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::parse_next
Line
Count
Source
1001
5.22k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
5.22k
        let ($(ref mut $parser),+,) = *self;
1003
1004
3.88k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
3.88k
        Ok(($($output),+,))
1007
5.22k
      }
<(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::parse_next
Line
Count
Source
1001
1.99k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
1.99k
        let ($(ref mut $parser),+,) = *self;
1003
1004
1.38k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
753
        Ok(($($output),+,))
1007
1.99k
      }
<(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::parse_next
Line
Count
Source
1001
2.06k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
2.06k
        let ($(ref mut $parser),+,) = *self;
1003
1004
1.92k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
136
        Ok(($($output),+,))
1007
2.06k
      }
Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Line
Count
Source
1001
1.01M
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
1.01M
        let ($(ref mut $parser),+,) = *self;
1003
1004
1.01M
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
1.01M
        Ok(($($output),+,))
1007
1.01M
      }
<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next
Line
Count
Source
1001
1.12M
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
1.12M
        let ($(ref mut $parser),+,) = *self;
1003
1004
1.04M
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
86.9k
        Ok(($($output),+,))
1007
1.12M
      }
<(winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next
Line
Count
Source
1001
1.46k
      fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> {
1002
1.46k
        let ($(ref mut $parser),+,) = *self;
1003
1004
1.20k
        $(let $output = $parser.parse_next(i)?;)+
1005
1006
264
        Ok(($($output),+,))
1007
1.46k
      }
1008
    }
1009
  )
1010
}
1011
1012
macro_rules! impl_parser_for_tuples {
1013
    ($parser1:ident $output1:ident, $($parser:ident $output:ident),+) => {
1014
        impl_parser_for_tuples!(__impl $parser1 $output1; $($parser $output),+);
1015
    };
1016
    (__impl $($parser:ident $output:ident),+; $parser1:ident $output1:ident $(,$parser2:ident $output2:ident)*) => {
1017
        impl_parser_for_tuple!($($parser $output),+);
1018
        impl_parser_for_tuples!(__impl $($parser $output),+, $parser1 $output1; $($parser2 $output2),*);
1019
    };
1020
    (__impl $($parser:ident $output:ident),+;) => {
1021
        impl_parser_for_tuple!($($parser $output),+);
1022
    }
1023
}
1024
1025
/// Collect all errors when parsing the input
1026
///
1027
/// [`Parser`]s will need to use [`Recoverable<I, _>`] for their input.
1028
#[cfg(feature = "unstable-recover")]
1029
#[cfg(feature = "std")]
1030
pub trait RecoverableParser<I, O, R, E> {
1031
    /// Collect all errors when parsing the input
1032
    ///
1033
    /// If `self` fails, this acts like [`Parser::resume_after`] and returns `Ok(None)`.
1034
    /// Generally, this should be avoided by using
1035
    /// [`Parser::retry_after`] and [`Parser::resume_after`] throughout your parser.
1036
    ///
1037
    /// The empty `input` is returned to allow turning the errors into [`ParserError`]s.
1038
    fn recoverable_parse(&mut self, input: I) -> (I, Option<O>, Vec<R>);
1039
}
1040
1041
#[cfg(feature = "unstable-recover")]
1042
#[cfg(feature = "std")]
1043
impl<P, I, O, R, E> RecoverableParser<I, O, R, E> for P
1044
where
1045
    P: Parser<Recoverable<I, R>, O, E>,
1046
    I: Stream,
1047
    I: StreamIsPartial,
1048
    R: FromRecoverableError<Recoverable<I, R>, E>,
1049
    R: crate::lib::std::fmt::Debug,
1050
    E: FromRecoverableError<Recoverable<I, R>, E>,
1051
    E: ParserError<Recoverable<I, R>>,
1052
    E: crate::lib::std::fmt::Debug,
1053
{
1054
    #[inline]
1055
    fn recoverable_parse(&mut self, input: I) -> (I, Option<O>, Vec<R>) {
1056
        debug_assert!(
1057
            !I::is_partial_supported(),
1058
            "partial streams need to handle `ErrMode::Incomplete`"
1059
        );
1060
1061
        let start = input.checkpoint();
1062
        let mut input = Recoverable::new(input);
1063
        let start_token = input.checkpoint();
1064
        let result = (
1065
            self.by_ref(),
1066
            crate::combinator::eof.resume_after(rest.void()),
1067
        )
1068
            .parse_next(&mut input);
1069
1070
        let (o, err) = match result {
1071
            Ok((o, _)) => (Some(o), None),
1072
            Err(err) => {
1073
                let err = err
1074
                    .into_inner()
1075
                    .expect("complete parsers should not report `ErrMode::Incomplete(_)`");
1076
                let err_start = input.checkpoint();
1077
                let err = R::from_recoverable_error(&start_token, &err_start, &input, err);
1078
                (None, Some(err))
1079
            }
1080
        };
1081
1082
        let (mut input, mut errs) = input.into_parts();
1083
        input.reset(&start);
1084
        if let Some(err) = err {
1085
            errs.push(err);
1086
        }
1087
1088
        (input, o, errs)
1089
    }
1090
}
1091
1092
impl_parser_for_tuples!(
1093
  P1 O1,
1094
  P2 O2,
1095
  P3 O3,
1096
  P4 O4,
1097
  P5 O5,
1098
  P6 O6,
1099
  P7 O7,
1100
  P8 O8,
1101
  P9 O9,
1102
  P10 O10,
1103
  P11 O11,
1104
  P12 O12,
1105
  P13 O13,
1106
  P14 O14,
1107
  P15 O15,
1108
  P16 O16,
1109
  P17 O17,
1110
  P18 O18,
1111
  P19 O19,
1112
  P20 O20,
1113
  P21 O21
1114
);
1115
1116
#[cfg(feature = "alloc")]
1117
use crate::lib::std::boxed::Box;
1118
1119
#[cfg(feature = "alloc")]
1120
impl<'a, I, O, E> Parser<I, O, E> for Box<dyn Parser<I, O, E> + 'a> {
1121
    #[inline(always)]
1122
0
    fn parse_next(&mut self, i: &mut I) -> PResult<O, E> {
1123
0
        (**self).parse_next(i)
1124
0
    }
Unexecuted instantiation: <alloc::boxed::Box<dyn winnow::parser::Parser<_, _, _>> as winnow::parser::Parser<_, _, _>>::parse_next
Unexecuted instantiation: <alloc::boxed::Box<dyn winnow::parser::Parser<_, _, _>> as winnow::parser::Parser<_, _, _>>::parse_next
1125
}
1126
1127
/// Convert a [`Parser::parse_peek`] style parse function to be a [`Parser`]
1128
#[inline(always)]
1129
0
pub fn unpeek<'a, I, O, E>(
1130
0
    mut peek: impl FnMut(I) -> IResult<I, O, E> + 'a,
1131
0
) -> impl FnMut(&mut I) -> PResult<O, E>
1132
0
where
1133
0
    I: Clone,
1134
0
{
1135
0
    move |input| match peek((*input).clone()) {
1136
0
        Ok((i, o)) => {
1137
0
            *input = i;
1138
0
            Ok(o)
1139
        }
1140
0
        Err(err) => Err(err),
1141
0
    }
Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _>::{closure#0}
Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _>::{closure#0}
1142
0
}
Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _>
Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _>
1143
1144
#[cfg(test)]
1145
mod tests {
1146
    use super::*;
1147
    use crate::binary::be_u16;
1148
    use crate::error::ErrMode;
1149
    use crate::error::ErrorKind;
1150
    use crate::error::InputError;
1151
    use crate::error::Needed;
1152
    use crate::token::take;
1153
    use crate::Partial;
1154
1155
    #[doc(hidden)]
1156
    #[macro_export]
1157
    macro_rules! assert_size (
1158
    ($t:ty, $sz:expr) => (
1159
      assert!($crate::lib::std::mem::size_of::<$t>() <= $sz, "{} <= {} failed", $crate::lib::std::mem::size_of::<$t>(), $sz);
1160
    );
1161
  );
1162
1163
    #[test]
1164
    #[cfg(target_pointer_width = "64")]
1165
    fn size_test() {
1166
        assert_size!(IResult<&[u8], &[u8], (&[u8], u32)>, 40);
1167
        assert_size!(IResult<&str, &str, u32>, 40);
1168
        assert_size!(Needed, 8);
1169
        assert_size!(ErrMode<u32>, 16);
1170
        assert_size!(ErrorKind, 1);
1171
    }
1172
1173
    #[test]
1174
    fn err_map_test() {
1175
        let e = ErrMode::Backtrack(1);
1176
        assert_eq!(e.map(|v| v + 1), ErrMode::Backtrack(2));
1177
    }
1178
1179
    #[test]
1180
    fn single_element_tuples() {
1181
        use crate::ascii::alpha1;
1182
        use crate::error::ErrorKind;
1183
1184
        let mut parser = (alpha1,);
1185
        assert_eq!(parser.parse_peek("abc123def"), Ok(("123def", ("abc",))));
1186
        assert_eq!(
1187
            parser.parse_peek("123def"),
1188
            Err(ErrMode::Backtrack(InputError::new(
1189
                "123def",
1190
                ErrorKind::Slice
1191
            )))
1192
        );
1193
    }
1194
1195
    #[test]
1196
    fn tuple_test() {
1197
        #[allow(clippy::type_complexity)]
1198
        fn tuple_3(i: Partial<&[u8]>) -> IResult<Partial<&[u8]>, (u16, &[u8], &[u8])> {
1199
            (be_u16, take(3u8), "fg").parse_peek(i)
1200
        }
1201
1202
        assert_eq!(
1203
            tuple_3(Partial::new(&b"abcdefgh"[..])),
1204
            Ok((
1205
                Partial::new(&b"h"[..]),
1206
                (0x6162u16, &b"cde"[..], &b"fg"[..])
1207
            ))
1208
        );
1209
        assert_eq!(
1210
            tuple_3(Partial::new(&b"abcd"[..])),
1211
            Err(ErrMode::Incomplete(Needed::new(1)))
1212
        );
1213
        assert_eq!(
1214
            tuple_3(Partial::new(&b"abcde"[..])),
1215
            Err(ErrMode::Incomplete(Needed::new(2)))
1216
        );
1217
        assert_eq!(
1218
            tuple_3(Partial::new(&b"abcdejk"[..])),
1219
            Err(ErrMode::Backtrack(error_position!(
1220
                &Partial::new(&b"jk"[..]),
1221
                ErrorKind::Tag
1222
            )))
1223
        );
1224
    }
1225
1226
    #[test]
1227
    fn unit_type() {
1228
        fn parser(i: &mut &str) -> PResult<()> {
1229
            ().parse_next(i)
1230
        }
1231
        assert_eq!(parser.parse_peek("abxsbsh"), Ok(("abxsbsh", ())));
1232
        assert_eq!(parser.parse_peek("sdfjakdsas"), Ok(("sdfjakdsas", ())));
1233
        assert_eq!(parser.parse_peek(""), Ok(("", ())));
1234
    }
1235
}