/rust/registry/src/index.crates.io-1949cf8c6b5b557f/winnow-0.7.13/src/parser.rs
Line | Count | Source |
1 | | //! Basic types to build the parsers |
2 | | |
3 | | use crate::ascii::Caseless as AsciiCaseless; |
4 | | use crate::combinator::impls; |
5 | | #[cfg(feature = "unstable-recover")] |
6 | | #[cfg(feature = "std")] |
7 | | use crate::error::FromRecoverableError; |
8 | | use crate::error::{AddContext, FromExternalError, ParseError, ParserError, Result}; |
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) -> ModalResult<()> { |
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) -> ModalResult<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 | | /// |
51 | | /// This is intended for integrating your parser into the rest of your application. |
52 | | /// |
53 | | /// For one [`Parser`] to drive another [`Parser`] forward or for |
54 | | /// [incremental parsing][StreamIsPartial], see instead [`Parser::parse_next`]. |
55 | | /// |
56 | | /// This assumes the [`Parser`] intends to read all of `input` and will return an |
57 | | /// [`eof`][crate::combinator::eof] error if it does not |
58 | | /// To ignore trailing `input`, combine your parser with a [`rest`][crate::token::rest] |
59 | | /// (e.g. `(parser, rest).parse(input)`). |
60 | | /// |
61 | | /// See also the [tutorial][crate::_tutorial::chapter_6]. |
62 | | #[inline] |
63 | | fn parse(&mut self, mut input: I) -> Result<O, ParseError<I, <E as ParserError<I>>::Inner>> |
64 | | where |
65 | | Self: core::marker::Sized, |
66 | | I: Stream, |
67 | | // Force users to deal with `Incomplete` when `StreamIsPartial<true>` |
68 | | I: StreamIsPartial, |
69 | | E: ParserError<I>, |
70 | | <E as ParserError<I>>::Inner: ParserError<I>, |
71 | | { |
72 | | debug_assert!( |
73 | | !I::is_partial_supported(), |
74 | | "partial streams need to handle `ErrMode::Incomplete`" |
75 | | ); |
76 | | |
77 | | let start = input.checkpoint(); |
78 | | let (o, _) = (self.by_ref(), crate::combinator::eof) |
79 | | .parse_next(&mut input) |
80 | | .map_err(|e| { |
81 | | let e = e.into_inner().unwrap_or_else(|_err| { |
82 | | panic!("complete parsers should not report `ErrMode::Incomplete(_)`") |
83 | | }); |
84 | | ParseError::new(input, start, e) |
85 | | })?; |
86 | | Ok(o) |
87 | | } |
88 | | |
89 | | /// Take tokens from the [`Stream`], turning it into the output |
90 | | /// |
91 | | /// This includes advancing the input [`Stream`] to the next location. |
92 | | /// |
93 | | /// On error, `input` will be left pointing at the error location. |
94 | | /// |
95 | | /// This is intended for a [`Parser`] to drive another [`Parser`] forward or for |
96 | | /// [incremental parsing][StreamIsPartial] |
97 | | fn parse_next(&mut self, input: &mut I) -> Result<O, E>; |
98 | | |
99 | | /// Take tokens from the [`Stream`], turning it into the output |
100 | | /// |
101 | | /// This returns a copy of the [`Stream`] advanced to the next location. |
102 | | /// |
103 | | /// <div class="warning"> |
104 | | /// |
105 | | /// Generally, prefer [`Parser::parse_next`]. |
106 | | /// This is primarily intended for: |
107 | | /// - Migrating from older versions / `nom` |
108 | | /// - Testing [`Parser`]s |
109 | | /// |
110 | | /// For look-ahead parsing, see instead [`peek`][crate::combinator::peek]. |
111 | | /// |
112 | | /// </div> |
113 | | #[inline(always)] |
114 | | fn parse_peek(&mut self, mut input: I) -> Result<(I, O), E> { |
115 | | match self.parse_next(&mut input) { |
116 | | Ok(o) => Ok((input, o)), |
117 | | Err(err) => Err(err), |
118 | | } |
119 | | } |
120 | | |
121 | | /// Treat `&mut Self` as a parser |
122 | | /// |
123 | | /// This helps when needing to move a `Parser` when all you have is a `&mut Parser`. |
124 | | /// |
125 | | /// # Example |
126 | | /// |
127 | | /// Because parsers are `FnMut`, they can be called multiple times. This prevents moving `f` |
128 | | /// into [`length_take`][crate::binary::length_take] and `g` into |
129 | | /// [`Parser::complete_err`]: |
130 | | /// ```rust,compile_fail |
131 | | /// # use winnow::prelude::*; |
132 | | /// # use winnow::Parser; |
133 | | /// # use winnow::error::ParserError; |
134 | | /// # use winnow::binary::length_take; |
135 | | /// pub fn length_value<'i, O, E: ParserError<&'i [u8]>>( |
136 | | /// mut f: impl Parser<&'i [u8], usize, E>, |
137 | | /// mut g: impl Parser<&'i [u8], O, E> |
138 | | /// ) -> impl Parser<&'i [u8], O, E> { |
139 | | /// move |i: &mut &'i [u8]| { |
140 | | /// let mut data = length_take(f).parse_next(i)?; |
141 | | /// let o = g.complete_err().parse_next(&mut data)?; |
142 | | /// Ok(o) |
143 | | /// } |
144 | | /// } |
145 | | /// ``` |
146 | | /// |
147 | | /// By adding `by_ref`, we can make this work: |
148 | | /// ```rust |
149 | | /// # use winnow::prelude::*; |
150 | | /// # use winnow::Parser; |
151 | | /// # use winnow::error::ParserError; |
152 | | /// # use winnow::binary::length_take; |
153 | | /// pub fn length_value<'i, O, E: ParserError<&'i [u8]>>( |
154 | | /// mut f: impl Parser<&'i [u8], usize, E>, |
155 | | /// mut g: impl Parser<&'i [u8], O, E> |
156 | | /// ) -> impl Parser<&'i [u8], O, E> { |
157 | | /// move |i: &mut &'i [u8]| { |
158 | | /// let mut data = length_take(f.by_ref()).parse_next(i)?; |
159 | | /// let o = g.by_ref().complete_err().parse_next(&mut data)?; |
160 | | /// Ok(o) |
161 | | /// } |
162 | | /// } |
163 | | /// ``` |
164 | | #[inline(always)] |
165 | | fn by_ref(&mut self) -> impls::ByRef<'_, Self, I, O, E> |
166 | | where |
167 | | Self: core::marker::Sized, |
168 | | { |
169 | | impls::ByRef { |
170 | | p: self, |
171 | | i: Default::default(), |
172 | | o: Default::default(), |
173 | | e: Default::default(), |
174 | | } |
175 | | } |
176 | | |
177 | | /// Produce the provided value |
178 | | /// |
179 | | /// # Example |
180 | | /// |
181 | | /// ```rust |
182 | | /// # use winnow::{error::ErrMode, Parser}; |
183 | | /// # use winnow::prelude::*; |
184 | | /// use winnow::ascii::alpha1; |
185 | | /// # fn main() { |
186 | | /// |
187 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<i32> { |
188 | | /// alpha1.value(1234).parse_next(input) |
189 | | /// } |
190 | | /// |
191 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", 1234))); |
192 | | /// assert!(parser.parse_peek("123abcd;").is_err()); |
193 | | /// # } |
194 | | /// ``` |
195 | | #[doc(alias = "to")] |
196 | | #[inline(always)] |
197 | 41.5M | fn value<O2>(self, val: O2) -> impls::Value<Self, I, O, O2, E> |
198 | 41.5M | where |
199 | 41.5M | Self: core::marker::Sized, |
200 | 41.5M | O2: Clone, |
201 | | { |
202 | 41.5M | impls::Value { |
203 | 41.5M | parser: self, |
204 | 41.5M | val, |
205 | 41.5M | i: Default::default(), |
206 | 41.5M | o: Default::default(), |
207 | 41.5M | e: Default::default(), |
208 | 41.5M | } |
209 | 41.5M | } <winnow::token::literal<char, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::value::<char> Line | Count | Source | 197 | 36.5M | fn value<O2>(self, val: O2) -> impls::Value<Self, I, O, O2, E> | 198 | 36.5M | where | 199 | 36.5M | Self: core::marker::Sized, | 200 | 36.5M | O2: Clone, | 201 | | { | 202 | 36.5M | impls::Value { | 203 | 36.5M | parser: self, | 204 | 36.5M | val, | 205 | 36.5M | i: Default::default(), | 206 | 36.5M | o: Default::default(), | 207 | 36.5M | e: Default::default(), | 208 | 36.5M | } | 209 | 36.5M | } |
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::value::<&bstr::bstr::BStr> Unexecuted instantiation: <winnow::token::literal<u8, &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::value::<u8> Unexecuted instantiation: <u8 as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<()>>>::value::<&bstr::bstr::BStr> <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::value::<&bstr::bstr::BStr> Line | Count | Source | 197 | 2.51M | fn value<O2>(self, val: O2) -> impls::Value<Self, I, O, O2, E> | 198 | 2.51M | where | 199 | 2.51M | Self: core::marker::Sized, | 200 | 2.51M | O2: Clone, | 201 | | { | 202 | 2.51M | impls::Value { | 203 | 2.51M | parser: self, | 204 | 2.51M | val, | 205 | 2.51M | i: Default::default(), | 206 | 2.51M | o: Default::default(), | 207 | 2.51M | e: Default::default(), | 208 | 2.51M | } | 209 | 2.51M | } |
<winnow::token::literal<u8, &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::value::<u8> Line | Count | Source | 197 | 67.7k | fn value<O2>(self, val: O2) -> impls::Value<Self, I, O, O2, E> | 198 | 67.7k | where | 199 | 67.7k | Self: core::marker::Sized, | 200 | 67.7k | O2: Clone, | 201 | | { | 202 | 67.7k | impls::Value { | 203 | 67.7k | parser: self, | 204 | 67.7k | val, | 205 | 67.7k | i: Default::default(), | 206 | 67.7k | o: Default::default(), | 207 | 67.7k | e: Default::default(), | 208 | 67.7k | } | 209 | 67.7k | } |
<u8 as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<()>>>::value::<&bstr::bstr::BStr> Line | Count | Source | 197 | 2.51M | fn value<O2>(self, val: O2) -> impls::Value<Self, I, O, O2, E> | 198 | 2.51M | where | 199 | 2.51M | Self: core::marker::Sized, | 200 | 2.51M | O2: Clone, | 201 | | { | 202 | 2.51M | impls::Value { | 203 | 2.51M | parser: self, | 204 | 2.51M | val, | 205 | 2.51M | i: Default::default(), | 206 | 2.51M | o: Default::default(), | 207 | 2.51M | e: Default::default(), | 208 | 2.51M | } | 209 | 2.51M | } |
|
210 | | |
211 | | /// Produce a type's default value |
212 | | /// |
213 | | /// # Example |
214 | | /// |
215 | | /// ```rust |
216 | | /// # use winnow::{error::ErrMode, Parser}; |
217 | | /// # use winnow::prelude::*; |
218 | | /// use winnow::ascii::alpha1; |
219 | | /// # fn main() { |
220 | | /// |
221 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<u32> { |
222 | | /// alpha1.default_value().parse_next(input) |
223 | | /// } |
224 | | /// |
225 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", 0))); |
226 | | /// assert!(parser.parse_peek("123abcd;").is_err()); |
227 | | /// # } |
228 | | /// ``` |
229 | | #[inline(always)] |
230 | | fn default_value<O2>(self) -> impls::DefaultValue<Self, I, O, O2, E> |
231 | | where |
232 | | Self: core::marker::Sized, |
233 | | O2: core::default::Default, |
234 | | { |
235 | | impls::DefaultValue { |
236 | | parser: self, |
237 | | o2: Default::default(), |
238 | | i: Default::default(), |
239 | | o: Default::default(), |
240 | | e: Default::default(), |
241 | | } |
242 | | } |
243 | | |
244 | | /// Discards the output of the `Parser` |
245 | | /// |
246 | | /// # Example |
247 | | /// |
248 | | /// ```rust |
249 | | /// # use winnow::{error::ErrMode, Parser}; |
250 | | /// # use winnow::prelude::*; |
251 | | /// use winnow::ascii::alpha1; |
252 | | /// # fn main() { |
253 | | /// |
254 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<()> { |
255 | | /// alpha1.void().parse_next(input) |
256 | | /// } |
257 | | /// |
258 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", ()))); |
259 | | /// assert!(parser.parse_peek("123abcd;").is_err()); |
260 | | /// # } |
261 | | /// ``` |
262 | | #[inline(always)] |
263 | | fn void(self) -> impls::Void<Self, I, O, E> |
264 | | where |
265 | | Self: core::marker::Sized, |
266 | | { |
267 | | impls::Void { |
268 | | parser: self, |
269 | | i: Default::default(), |
270 | | o: Default::default(), |
271 | | e: Default::default(), |
272 | | } |
273 | | } |
274 | | |
275 | | /// Convert the parser's output to another type using [`std::convert::From`] |
276 | | /// |
277 | | /// # Example |
278 | | /// |
279 | | /// ```rust |
280 | | /// # use winnow::prelude::*; |
281 | | /// # use winnow::error::ContextError; |
282 | | /// use winnow::ascii::alpha1; |
283 | | /// # fn main() { |
284 | | /// |
285 | | /// fn parser1<'s>(i: &mut &'s str) -> ModalResult<&'s str> { |
286 | | /// alpha1(i) |
287 | | /// } |
288 | | /// |
289 | | /// let mut parser2 = parser1.output_into(); |
290 | | /// |
291 | | /// // the parser converts the &str output of the child parser into a Vec<u8> |
292 | | /// let bytes: ModalResult<(_, Vec<u8>), _> = parser2.parse_peek("abcd"); |
293 | | /// assert_eq!(bytes, Ok(("", vec![97, 98, 99, 100]))); |
294 | | /// # } |
295 | | /// ``` |
296 | | #[inline(always)] |
297 | | fn output_into<O2>(self) -> impls::OutputInto<Self, I, O, O2, E> |
298 | | where |
299 | | Self: core::marker::Sized, |
300 | | O: Into<O2>, |
301 | | { |
302 | | impls::OutputInto { |
303 | | parser: self, |
304 | | i: Default::default(), |
305 | | o: Default::default(), |
306 | | o2: Default::default(), |
307 | | e: Default::default(), |
308 | | } |
309 | | } |
310 | | |
311 | | /// Produce the consumed input as produced value. |
312 | | /// |
313 | | /// # Example |
314 | | /// |
315 | | /// ```rust |
316 | | /// # use winnow::{error::ErrMode, Parser}; |
317 | | /// # use winnow::prelude::*; |
318 | | /// use winnow::ascii::{alpha1}; |
319 | | /// use winnow::combinator::separated_pair; |
320 | | /// # fn main() { |
321 | | /// |
322 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<&'i str> { |
323 | | /// separated_pair(alpha1, ',', alpha1).take().parse_next(input) |
324 | | /// } |
325 | | /// |
326 | | /// assert_eq!(parser.parse_peek("abcd,efgh"), Ok(("", "abcd,efgh"))); |
327 | | /// assert!(parser.parse_peek("abcd;").is_err()); |
328 | | /// # } |
329 | | /// ``` |
330 | | #[doc(alias = "concat")] |
331 | | #[doc(alias = "recognize")] |
332 | | #[inline(always)] |
333 | 119M | fn take(self) -> impls::Take<Self, I, O, E> |
334 | 119M | where |
335 | 119M | Self: core::marker::Sized, |
336 | 119M | I: Stream, |
337 | | { |
338 | 119M | impls::Take { |
339 | 119M | parser: self, |
340 | 119M | i: Default::default(), |
341 | 119M | o: Default::default(), |
342 | 119M | e: Default::default(), |
343 | 119M | } |
344 | 119M | } <winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, gix_config::parse::nom::take_newlines1::{closure#0}, &[u8], (), (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::take Line | Count | Source | 333 | 63.0M | fn take(self) -> impls::Take<Self, I, O, E> | 334 | 63.0M | where | 335 | 63.0M | Self: core::marker::Sized, | 336 | 63.0M | I: Stream, | 337 | | { | 338 | 63.0M | impls::Take { | 339 | 63.0M | parser: self, | 340 | 63.0M | i: Default::default(), | 341 | 63.0M | o: Default::default(), | 342 | 63.0M | e: Default::default(), | 343 | 63.0M | } | 344 | 63.0M | } |
<winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::take Line | Count | Source | 333 | 4.61M | fn take(self) -> impls::Take<Self, I, O, E> | 334 | 4.61M | where | 335 | 4.61M | Self: core::marker::Sized, | 336 | 4.61M | I: Stream, | 337 | | { | 338 | 4.61M | impls::Take { | 339 | 4.61M | parser: self, | 340 | 4.61M | i: Default::default(), | 341 | 4.61M | o: Default::default(), | 342 | 4.61M | e: Default::default(), | 343 | 4.61M | } | 344 | 4.61M | } |
<(winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (u8, &[u8]), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::take Line | Count | Source | 333 | 50.3M | fn take(self) -> impls::Take<Self, I, O, E> | 334 | 50.3M | where | 335 | 50.3M | Self: core::marker::Sized, | 336 | 50.3M | I: Stream, | 337 | | { | 338 | 50.3M | impls::Take { | 339 | 50.3M | parser: self, | 340 | 50.3M | i: Default::default(), | 341 | 50.3M | o: Default::default(), | 342 | 50.3M | e: Default::default(), | 343 | 50.3M | } | 344 | 50.3M | } |
Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::take Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::take <(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::take Line | Count | Source | 333 | 1.70M | fn take(self) -> impls::Take<Self, I, O, E> | 334 | 1.70M | where | 335 | 1.70M | Self: core::marker::Sized, | 336 | 1.70M | I: Stream, | 337 | | { | 338 | 1.70M | impls::Take { | 339 | 1.70M | parser: self, | 340 | 1.70M | i: Default::default(), | 341 | 1.70M | o: Default::default(), | 342 | 1.70M | e: Default::default(), | 343 | 1.70M | } | 344 | 1.70M | } |
<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::take Line | Count | Source | 333 | 2.23k | fn take(self) -> impls::Take<Self, I, O, E> | 334 | 2.23k | where | 335 | 2.23k | Self: core::marker::Sized, | 336 | 2.23k | I: Stream, | 337 | | { | 338 | 2.23k | impls::Take { | 339 | 2.23k | parser: self, | 340 | 2.23k | i: Default::default(), | 341 | 2.23k | o: Default::default(), | 342 | 2.23k | e: Default::default(), | 343 | 2.23k | } | 344 | 2.23k | } |
Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::take Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::take Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::take Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::take |
345 | | |
346 | | /// Produce the consumed input with the output |
347 | | /// |
348 | | /// Functions similarly to [take][Parser::take] except it |
349 | | /// returns the parser output as well. |
350 | | /// |
351 | | /// This can be useful especially in cases where the output is not the same type |
352 | | /// as the input, or the input is a user defined type. |
353 | | /// |
354 | | /// Returned tuple is of the format `(produced output, consumed input)`. |
355 | | /// |
356 | | /// # Example |
357 | | /// |
358 | | /// ```rust |
359 | | /// # use winnow::prelude::*; |
360 | | /// # use winnow::{error::ErrMode}; |
361 | | /// use winnow::ascii::{alpha1}; |
362 | | /// use winnow::token::literal; |
363 | | /// use winnow::combinator::separated_pair; |
364 | | /// |
365 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<(bool, &'i str)> { |
366 | | /// separated_pair(alpha1, ',', alpha1).value(true).with_taken().parse_next(input) |
367 | | /// } |
368 | | /// |
369 | | /// assert_eq!(parser.parse_peek("abcd,efgh1"), Ok(("1", (true, "abcd,efgh")))); |
370 | | /// assert!(parser.parse_peek("abcd;").is_err()); |
371 | | /// ``` |
372 | | #[doc(alias = "consumed")] |
373 | | #[doc(alias = "with_recognized")] |
374 | | #[inline(always)] |
375 | | fn with_taken(self) -> impls::WithTaken<Self, I, O, E> |
376 | | where |
377 | | Self: core::marker::Sized, |
378 | | I: Stream, |
379 | | { |
380 | | impls::WithTaken { |
381 | | parser: self, |
382 | | i: Default::default(), |
383 | | o: Default::default(), |
384 | | e: Default::default(), |
385 | | } |
386 | | } |
387 | | |
388 | | /// Produce the location of the consumed input as produced value. |
389 | | /// |
390 | | /// # Example |
391 | | /// |
392 | | /// ```rust |
393 | | /// # use winnow::prelude::*; |
394 | | /// # use winnow::{error::ErrMode, stream::Stream}; |
395 | | /// # use std::ops::Range; |
396 | | /// use winnow::stream::LocatingSlice; |
397 | | /// use winnow::ascii::alpha1; |
398 | | /// use winnow::combinator::separated_pair; |
399 | | /// |
400 | | /// fn parser<'i>(input: &mut LocatingSlice<&'i str>) -> ModalResult<(Range<usize>, Range<usize>)> { |
401 | | /// separated_pair(alpha1.span(), ',', alpha1.span()).parse_next(input) |
402 | | /// } |
403 | | /// |
404 | | /// assert_eq!(parser.parse(LocatingSlice::new("abcd,efgh")), Ok((0..4, 5..9))); |
405 | | /// assert!(parser.parse_peek(LocatingSlice::new("abcd;")).is_err()); |
406 | | /// ``` |
407 | | #[inline(always)] |
408 | | fn span(self) -> impls::Span<Self, I, O, E> |
409 | | where |
410 | | Self: core::marker::Sized, |
411 | | I: Stream + Location, |
412 | | { |
413 | | impls::Span { |
414 | | parser: self, |
415 | | i: Default::default(), |
416 | | o: Default::default(), |
417 | | e: Default::default(), |
418 | | } |
419 | | } |
420 | | |
421 | | /// Produce the location of consumed input with the output |
422 | | /// |
423 | | /// Functions similarly to [`Parser::span`] except it |
424 | | /// returns the parser output as well. |
425 | | /// |
426 | | /// This can be useful especially in cases where the output is not the same type |
427 | | /// as the input, or the input is a user defined type. |
428 | | /// |
429 | | /// Returned tuple is of the format `(produced output, consumed input)`. |
430 | | /// |
431 | | /// # Example |
432 | | /// |
433 | | /// ```rust |
434 | | /// # use winnow::prelude::*; |
435 | | /// # use winnow::{error::ErrMode, stream::Stream}; |
436 | | /// # use std::ops::Range; |
437 | | /// use winnow::stream::LocatingSlice; |
438 | | /// use winnow::ascii::alpha1; |
439 | | /// use winnow::token::literal; |
440 | | /// use winnow::combinator::separated_pair; |
441 | | /// |
442 | | /// fn parser<'i>(input: &mut LocatingSlice<&'i str>) -> ModalResult<((usize, Range<usize>), (usize, Range<usize>))> { |
443 | | /// separated_pair(alpha1.value(1).with_span(), ',', alpha1.value(2).with_span()).parse_next(input) |
444 | | /// } |
445 | | /// |
446 | | /// assert_eq!(parser.parse(LocatingSlice::new("abcd,efgh")), Ok(((1, 0..4), (2, 5..9)))); |
447 | | /// assert!(parser.parse_peek(LocatingSlice::new("abcd;")).is_err()); |
448 | | /// ``` |
449 | | #[inline(always)] |
450 | | fn with_span(self) -> impls::WithSpan<Self, I, O, E> |
451 | | where |
452 | | Self: core::marker::Sized, |
453 | | I: Stream + Location, |
454 | | { |
455 | | impls::WithSpan { |
456 | | parser: self, |
457 | | i: Default::default(), |
458 | | o: Default::default(), |
459 | | e: Default::default(), |
460 | | } |
461 | | } |
462 | | |
463 | | /// Maps a function over the output of a parser |
464 | | /// |
465 | | /// # Example |
466 | | /// |
467 | | /// ```rust |
468 | | /// # use winnow::prelude::*; |
469 | | /// # use winnow::{error::ErrMode, Parser}; |
470 | | /// # use winnow::ascii::digit1; |
471 | | /// # fn main() { |
472 | | /// |
473 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<usize> { |
474 | | /// digit1.map(|s: &str| s.len()).parse_next(input) |
475 | | /// } |
476 | | /// |
477 | | /// // the parser will count how many characters were returned by digit1 |
478 | | /// assert_eq!(parser.parse_peek("123456"), Ok(("", 6))); |
479 | | /// |
480 | | /// // this will fail if digit1 fails |
481 | | /// assert!(parser.parse_peek("abc").is_err()); |
482 | | /// # } |
483 | | /// ``` |
484 | | #[inline(always)] |
485 | 437M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> |
486 | 437M | where |
487 | 437M | G: FnMut(O) -> O2, |
488 | 437M | Self: core::marker::Sized, |
489 | | { |
490 | 437M | impls::Map { |
491 | 437M | parser: self, |
492 | 437M | map, |
493 | 437M | i: Default::default(), |
494 | 437M | o: Default::default(), |
495 | 437M | o2: Default::default(), |
496 | 437M | e: Default::default(), |
497 | 437M | } |
498 | 437M | } <winnow::combinator::impls::Take<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, gix_config::parse::nom::take_newlines1::{closure#0}, &[u8], (), (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, &[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 63.0M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 63.0M | where | 487 | 63.0M | G: FnMut(O) -> O2, | 488 | 63.0M | Self: core::marker::Sized, | 489 | | { | 490 | 63.0M | impls::Map { | 491 | 63.0M | parser: self, | 492 | 63.0M | map, | 493 | 63.0M | i: Default::default(), | 494 | 63.0M | o: Default::default(), | 495 | 63.0M | o2: Default::default(), | 496 | 63.0M | e: Default::default(), | 497 | 63.0M | } | 498 | 63.0M | } |
<winnow::combinator::impls::Take<(winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8], (u8, &[u8]), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 50.3M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 50.3M | where | 487 | 50.3M | G: FnMut(O) -> O2, | 488 | 50.3M | Self: core::marker::Sized, | 489 | | { | 490 | 50.3M | impls::Map { | 491 | 50.3M | parser: self, | 492 | 50.3M | map, | 493 | 50.3M | i: Default::default(), | 494 | 50.3M | o: Default::default(), | 495 | 50.3M | o2: Default::default(), | 496 | 50.3M | e: Default::default(), | 497 | 50.3M | } | 498 | 50.3M | } |
<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<gix_config::parse::nom::take_newlines1::{closure#0}, ()> Line | Count | Source | 485 | 63.0M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 63.0M | where | 487 | 63.0M | G: FnMut(O) -> O2, | 488 | 63.0M | Self: core::marker::Sized, | 489 | | { | 490 | 63.0M | impls::Map { | 491 | 63.0M | parser: self, | 492 | 63.0M | map, | 493 | 63.0M | i: Default::default(), | 494 | 63.0M | o: Default::default(), | 495 | 63.0M | o2: Default::default(), | 496 | 63.0M | e: Default::default(), | 497 | 63.0M | } | 498 | 63.0M | } |
<winnow::combinator::multi::Repeat<gix_config::parse::nom::from_bytes::{closure#4}, &[u8], (), (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<gix_config::parse::nom::from_bytes::{closure#5}, ()> Line | Count | Source | 485 | 13.6k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 13.6k | where | 487 | 13.6k | G: FnMut(O) -> O2, | 488 | 13.6k | Self: core::marker::Sized, | 489 | | { | 490 | 13.6k | impls::Map { | 491 | 13.6k | parser: self, | 492 | 13.6k | map, | 493 | 13.6k | i: Default::default(), | 494 | 13.6k | o: Default::default(), | 495 | 13.6k | o2: Default::default(), | 496 | 13.6k | e: Default::default(), | 497 | 13.6k | } | 498 | 13.6k | } |
<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 14.8M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 14.8M | where | 487 | 14.8M | G: FnMut(O) -> O2, | 488 | 14.8M | Self: core::marker::Sized, | 489 | | { | 490 | 14.8M | impls::Map { | 491 | 14.8M | parser: self, | 492 | 14.8M | map, | 493 | 14.8M | i: Default::default(), | 494 | 14.8M | o: Default::default(), | 495 | 14.8M | o2: Default::default(), | 496 | 14.8M | e: Default::default(), | 497 | 14.8M | } | 498 | 14.8M | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_space, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 80.7M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 80.7M | where | 487 | 80.7M | G: FnMut(O) -> O2, | 488 | 80.7M | Self: core::marker::Sized, | 489 | | { | 490 | 80.7M | impls::Map { | 491 | 80.7M | parser: self, | 492 | 80.7M | map, | 493 | 80.7M | i: Default::default(), | 494 | 80.7M | o: Default::default(), | 495 | 80.7M | o2: Default::default(), | 496 | 80.7M | e: Default::default(), | 497 | 80.7M | } | 498 | 80.7M | } |
<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<gix_config::parse::nom::comment::{closure#1}, alloc::borrow::Cow<bstr::bstr::BStr>> Line | Count | Source | 485 | 75.7M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 75.7M | where | 487 | 75.7M | G: FnMut(O) -> O2, | 488 | 75.7M | Self: core::marker::Sized, | 489 | | { | 490 | 75.7M | impls::Map { | 491 | 75.7M | parser: self, | 492 | 75.7M | map, | 493 | 75.7M | i: Default::default(), | 494 | 75.7M | o: Default::default(), | 495 | 75.7M | o2: Default::default(), | 496 | 75.7M | e: Default::default(), | 497 | 75.7M | } | 498 | 75.7M | } |
<gix_config::parse::nom::take_spaces1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<gix_config::parse::nom::from_bytes::{closure#0}, gix_config::parse::Event> Line | Count | Source | 485 | 20.8k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 20.8k | where | 487 | 20.8k | G: FnMut(O) -> O2, | 488 | 20.8k | Self: core::marker::Sized, | 489 | | { | 490 | 20.8k | impls::Map { | 491 | 20.8k | parser: self, | 492 | 20.8k | map, | 493 | 20.8k | i: Default::default(), | 494 | 20.8k | o: Default::default(), | 495 | 20.8k | o2: Default::default(), | 496 | 20.8k | e: Default::default(), | 497 | 20.8k | } | 498 | 20.8k | } |
<gix_config::parse::nom::comment as winnow::parser::Parser<&[u8], gix_config::parse::Comment, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<gix_config::parse::Event::Comment, gix_config::parse::Event> Line | Count | Source | 485 | 20.8k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 20.8k | where | 487 | 20.8k | G: FnMut(O) -> O2, | 488 | 20.8k | Self: core::marker::Sized, | 489 | | { | 490 | 20.8k | impls::Map { | 491 | 20.8k | parser: self, | 492 | 20.8k | map, | 493 | 20.8k | i: Default::default(), | 494 | 20.8k | o: Default::default(), | 495 | 20.8k | o2: Default::default(), | 496 | 20.8k | e: Default::default(), | 497 | 20.8k | } | 498 | 20.8k | } |
<(winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], [char; 2], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::combinator::impls::Map<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>) as winnow::parser::Parser<&[u8], (u8, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<gix_config::parse::nom::comment::{closure#2}, gix_config::parse::Comment> Line | Count | Source | 485 | 75.7M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 75.7M | where | 487 | 75.7M | G: FnMut(O) -> O2, | 488 | 75.7M | Self: core::marker::Sized, | 489 | | { | 490 | 75.7M | impls::Map { | 491 | 75.7M | parser: self, | 492 | 75.7M | map, | 493 | 75.7M | i: Default::default(), | 494 | 75.7M | o: Default::default(), | 495 | 75.7M | o2: Default::default(), | 496 | 75.7M | e: Default::default(), | 497 | 75.7M | } | 498 | 75.7M | } |
<(gix_config::parse::nom::take_spaces1, winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::map::<gix_config::parse::nom::section_header::{closure#2}, gix_config::parse::section::Header> Line | Count | Source | 485 | 700k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 700k | where | 487 | 700k | G: FnMut(O) -> O2, | 488 | 700k | Self: core::marker::Sized, | 489 | | { | 490 | 700k | impls::Map { | 491 | 700k | parser: self, | 492 | 700k | map, | 493 | 700k | i: Default::default(), | 494 | 700k | o: Default::default(), | 495 | 700k | o2: Default::default(), | 496 | 700k | e: Default::default(), | 497 | 700k | } | 498 | 700k | } |
Unexecuted instantiation: <winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, gix_actor::SignatureRef> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8]> Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<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], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, &str> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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::error::ErrMode<winnow::error::ContextError>, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<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], &[u8], core::option::Option<u8>, winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, winnow::error::ErrMode<()>, u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<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::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::map::<gix_ref::store_impl::packed::decode::header<()>::{closure#0}, gix_ref::store_impl::packed::decode::Header> Unexecuted instantiation: <(winnow::combinator::impls::Context<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0}, winnow::combinator::impls::Value<u8, &[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Value<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::map::<gix_ref::store_impl::file::log::line::decode::one<()>::{closure#1}, gix_ref::store_impl::file::log::LineRef> Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::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, winnow::error::ErrMode<()>, gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[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>), winnow::error::ErrMode<()>>>::map::<gix_ref::store_impl::packed::decode::reference<()>::{closure#0}, gix_ref::store_impl::packed::Reference> Unexecuted instantiation: <winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString> Unexecuted instantiation: <winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#2}, core::option::Option<&bstr::bstr::BStr>> Unexecuted instantiation: <winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, gix_actor::SignatureRef> Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()> Unexecuted instantiation: <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::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), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#3}, (&[u8], core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8]> Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, &str> Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#4}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef> Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef> <winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString> Line | Count | Source | 485 | 1.70M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 1.70M | where | 487 | 1.70M | G: FnMut(O) -> O2, | 488 | 1.70M | Self: core::marker::Sized, | 489 | | { | 490 | 1.70M | impls::Map { | 491 | 1.70M | parser: self, | 492 | 1.70M | map, | 493 | 1.70M | i: Default::default(), | 494 | 1.70M | o: Default::default(), | 495 | 1.70M | o2: Default::default(), | 496 | 1.70M | e: Default::default(), | 497 | 1.70M | } | 498 | 1.70M | } |
<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#2}, core::option::Option<&bstr::bstr::BStr>> Line | Count | Source | 485 | 2.23k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 2.23k | where | 487 | 2.23k | G: FnMut(O) -> O2, | 488 | 2.23k | Self: core::marker::Sized, | 489 | | { | 490 | 2.23k | impls::Map { | 491 | 2.23k | parser: self, | 492 | 2.23k | map, | 493 | 2.23k | i: Default::default(), | 494 | 2.23k | o: Default::default(), | 495 | 2.23k | o2: Default::default(), | 496 | 2.23k | e: Default::default(), | 497 | 2.23k | } | 498 | 2.23k | } |
<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, gix_actor::SignatureRef> Line | Count | Source | 485 | 6.76k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 6.76k | where | 487 | 6.76k | G: FnMut(O) -> O2, | 488 | 6.76k | Self: core::marker::Sized, | 489 | | { | 490 | 6.76k | impls::Map { | 491 | 6.76k | parser: self, | 492 | 6.76k | map, | 493 | 6.76k | i: Default::default(), | 494 | 6.76k | o: Default::default(), | 495 | 6.76k | o2: Default::default(), | 496 | 6.76k | e: Default::default(), | 497 | 6.76k | } | 498 | 6.76k | } |
<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()> Line | Count | Source | 485 | 1.70M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 1.70M | where | 487 | 1.70M | G: FnMut(O) -> O2, | 488 | 1.70M | Self: core::marker::Sized, | 489 | | { | 490 | 1.70M | impls::Map { | 491 | 1.70M | parser: self, | 492 | 1.70M | map, | 493 | 1.70M | i: Default::default(), | 494 | 1.70M | o: Default::default(), | 495 | 1.70M | o2: Default::default(), | 496 | 1.70M | e: Default::default(), | 497 | 1.70M | } | 498 | 1.70M | } |
<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>> Line | Count | Source | 485 | 2.00k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 2.00k | where | 487 | 2.00k | G: FnMut(O) -> O2, | 488 | 2.00k | Self: core::marker::Sized, | 489 | | { | 490 | 2.00k | impls::Map { | 491 | 2.00k | parser: self, | 492 | 2.00k | map, | 493 | 2.00k | i: Default::default(), | 494 | 2.00k | o: Default::default(), | 495 | 2.00k | o2: Default::default(), | 496 | 2.00k | e: Default::default(), | 497 | 2.00k | } | 498 | 2.00k | } |
<gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)> Line | Count | Source | 485 | 2.00k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 2.00k | where | 487 | 2.00k | G: FnMut(O) -> O2, | 488 | 2.00k | Self: core::marker::Sized, | 489 | | { | 490 | 2.00k | impls::Map { | 491 | 2.00k | parser: self, | 492 | 2.00k | map, | 493 | 2.00k | i: Default::default(), | 494 | 2.00k | o: Default::default(), | 495 | 2.00k | o2: Default::default(), | 496 | 2.00k | e: Default::default(), | 497 | 2.00k | } | 498 | 2.00k | } |
<winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#3}, (&[u8], core::option::Option<&bstr::bstr::BStr>)> Line | Count | Source | 485 | 2.23k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 2.23k | where | 487 | 2.23k | G: FnMut(O) -> O2, | 488 | 2.23k | Self: core::marker::Sized, | 489 | | { | 490 | 2.23k | impls::Map { | 491 | 2.23k | parser: self, | 492 | 2.23k | map, | 493 | 2.23k | i: Default::default(), | 494 | 2.23k | o: Default::default(), | 495 | 2.23k | o2: Default::default(), | 496 | 2.23k | e: Default::default(), | 497 | 2.23k | } | 498 | 2.23k | } |
Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 834 | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 834 | where | 487 | 834 | G: FnMut(O) -> O2, | 488 | 834 | Self: core::marker::Sized, | 489 | | { | 490 | 834 | impls::Map { | 491 | 834 | parser: self, | 492 | 834 | map, | 493 | 834 | i: Default::default(), | 494 | 834 | o: Default::default(), | 495 | 834 | o2: Default::default(), | 496 | 834 | e: Default::default(), | 497 | 834 | } | 498 | 834 | } |
<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8]> Line | Count | Source | 485 | 6.76k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 6.76k | where | 487 | 6.76k | G: FnMut(O) -> O2, | 488 | 6.76k | Self: core::marker::Sized, | 489 | | { | 490 | 6.76k | impls::Map { | 491 | 6.76k | parser: self, | 492 | 6.76k | map, | 493 | 6.76k | i: Default::default(), | 494 | 6.76k | o: Default::default(), | 495 | 6.76k | o2: Default::default(), | 496 | 6.76k | e: Default::default(), | 497 | 6.76k | } | 498 | 6.76k | } |
<winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 13.4k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 13.4k | where | 487 | 13.4k | G: FnMut(O) -> O2, | 488 | 13.4k | Self: core::marker::Sized, | 489 | | { | 490 | 13.4k | impls::Map { | 491 | 13.4k | parser: self, | 492 | 13.4k | map, | 493 | 13.4k | i: Default::default(), | 494 | 13.4k | o: Default::default(), | 495 | 13.4k | o2: Default::default(), | 496 | 13.4k | e: Default::default(), | 497 | 13.4k | } | 498 | 13.4k | } |
<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, &str> Line | Count | Source | 485 | 6.76k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 6.76k | where | 487 | 6.76k | G: FnMut(O) -> O2, | 488 | 6.76k | Self: core::marker::Sized, | 489 | | { | 490 | 6.76k | impls::Map { | 491 | 6.76k | parser: self, | 492 | 6.76k | map, | 493 | 6.76k | i: Default::default(), | 494 | 6.76k | o: Default::default(), | 495 | 6.76k | o2: Default::default(), | 496 | 6.76k | e: Default::default(), | 497 | 6.76k | } | 498 | 6.76k | } |
<winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#4}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Line | Count | Source | 485 | 2.23k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 2.23k | where | 487 | 2.23k | G: FnMut(O) -> O2, | 488 | 2.23k | Self: core::marker::Sized, | 489 | | { | 490 | 2.23k | impls::Map { | 491 | 2.23k | parser: self, | 492 | 2.23k | map, | 493 | 2.23k | i: Default::default(), | 494 | 2.23k | o: Default::default(), | 495 | 2.23k | o2: Default::default(), | 496 | 2.23k | e: Default::default(), | 497 | 2.23k | } | 498 | 2.23k | } |
<&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Line | Count | Source | 485 | 51 | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 51 | where | 487 | 51 | G: FnMut(O) -> O2, | 488 | 51 | Self: core::marker::Sized, | 489 | | { | 490 | 51 | impls::Map { | 491 | 51 | parser: self, | 492 | 51 | map, | 493 | 51 | i: Default::default(), | 494 | 51 | o: Default::default(), | 495 | 51 | o2: Default::default(), | 496 | 51 | e: Default::default(), | 497 | 51 | } | 498 | 51 | } |
<(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef> Line | Count | Source | 485 | 1.96k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 1.96k | where | 487 | 1.96k | G: FnMut(O) -> O2, | 488 | 1.96k | Self: core::marker::Sized, | 489 | | { | 490 | 1.96k | impls::Map { | 491 | 1.96k | parser: self, | 492 | 1.96k | map, | 493 | 1.96k | i: Default::default(), | 494 | 1.96k | o: Default::default(), | 495 | 1.96k | o2: Default::default(), | 496 | 1.96k | e: Default::default(), | 497 | 1.96k | } | 498 | 1.96k | } |
<(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef> Line | Count | Source | 485 | 2.00k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 2.00k | where | 487 | 2.00k | G: FnMut(O) -> O2, | 488 | 2.00k | Self: core::marker::Sized, | 489 | | { | 490 | 2.00k | impls::Map { | 491 | 2.00k | parser: self, | 492 | 2.00k | map, | 493 | 2.00k | i: Default::default(), | 494 | 2.00k | o: Default::default(), | 495 | 2.00k | o2: Default::default(), | 496 | 2.00k | e: Default::default(), | 497 | 2.00k | } | 498 | 2.00k | } |
<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, gix_actor::SignatureRef> Line | Count | Source | 485 | 71.4k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 71.4k | where | 487 | 71.4k | G: FnMut(O) -> O2, | 488 | 71.4k | Self: core::marker::Sized, | 489 | | { | 490 | 71.4k | impls::Map { | 491 | 71.4k | parser: self, | 492 | 71.4k | map, | 493 | 71.4k | i: Default::default(), | 494 | 71.4k | o: Default::default(), | 495 | 71.4k | o2: Default::default(), | 496 | 71.4k | e: Default::default(), | 497 | 71.4k | } | 498 | 71.4k | } |
<winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 4.19k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 4.19k | where | 487 | 4.19k | G: FnMut(O) -> O2, | 488 | 4.19k | Self: core::marker::Sized, | 489 | | { | 490 | 4.19k | impls::Map { | 491 | 4.19k | parser: self, | 492 | 4.19k | map, | 493 | 4.19k | i: Default::default(), | 494 | 4.19k | o: Default::default(), | 495 | 4.19k | o2: Default::default(), | 496 | 4.19k | e: Default::default(), | 497 | 4.19k | } | 498 | 4.19k | } |
<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8]> Line | Count | Source | 485 | 71.4k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 71.4k | where | 487 | 71.4k | G: FnMut(O) -> O2, | 488 | 71.4k | Self: core::marker::Sized, | 489 | | { | 490 | 71.4k | impls::Map { | 491 | 71.4k | parser: self, | 492 | 71.4k | map, | 493 | 71.4k | i: Default::default(), | 494 | 71.4k | o: Default::default(), | 495 | 71.4k | o2: Default::default(), | 496 | 71.4k | e: Default::default(), | 497 | 71.4k | } | 498 | 71.4k | } |
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<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], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 4.09M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 4.09M | where | 487 | 4.09M | G: FnMut(O) -> O2, | 488 | 4.09M | Self: core::marker::Sized, | 489 | | { | 490 | 4.09M | impls::Map { | 491 | 4.09M | parser: self, | 492 | 4.09M | map, | 493 | 4.09M | i: Default::default(), | 494 | 4.09M | o: Default::default(), | 495 | 4.09M | o2: Default::default(), | 496 | 4.09M | e: Default::default(), | 497 | 4.09M | } | 498 | 4.09M | } |
<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, &str> Line | Count | Source | 485 | 71.4k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 71.4k | where | 487 | 71.4k | G: FnMut(O) -> O2, | 488 | 71.4k | Self: core::marker::Sized, | 489 | | { | 490 | 71.4k | impls::Map { | 491 | 71.4k | parser: self, | 492 | 71.4k | map, | 493 | 71.4k | i: Default::default(), | 494 | 71.4k | o: Default::default(), | 495 | 71.4k | o2: Default::default(), | 496 | 71.4k | e: Default::default(), | 497 | 71.4k | } | 498 | 71.4k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 1.42M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 1.42M | where | 487 | 1.42M | G: FnMut(O) -> O2, | 488 | 1.42M | Self: core::marker::Sized, | 489 | | { | 490 | 1.42M | impls::Map { | 491 | 1.42M | parser: self, | 492 | 1.42M | map, | 493 | 1.42M | i: Default::default(), | 494 | 1.42M | o: Default::default(), | 495 | 1.42M | o2: Default::default(), | 496 | 1.42M | e: Default::default(), | 497 | 1.42M | } | 498 | 1.42M | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#1}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState> <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, winnow::error::ErrMode<()>, u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 485 | 19.2k | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 19.2k | where | 487 | 19.2k | G: FnMut(O) -> O2, | 488 | 19.2k | Self: core::marker::Sized, | 489 | | { | 490 | 19.2k | impls::Map { | 491 | 19.2k | parser: self, | 492 | 19.2k | map, | 493 | 19.2k | i: Default::default(), | 494 | 19.2k | o: Default::default(), | 495 | 19.2k | o2: Default::default(), | 496 | 19.2k | e: Default::default(), | 497 | 19.2k | } | 498 | 19.2k | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<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::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::map::<gix_ref::store_impl::packed::decode::header<()>::{closure#0}, gix_ref::store_impl::packed::decode::Header> Line | Count | Source | 485 | 18 | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 18 | where | 487 | 18 | G: FnMut(O) -> O2, | 488 | 18 | Self: core::marker::Sized, | 489 | | { | 490 | 18 | impls::Map { | 491 | 18 | parser: self, | 492 | 18 | map, | 493 | 18 | i: Default::default(), | 494 | 18 | o: Default::default(), | 495 | 18 | o2: Default::default(), | 496 | 18 | e: Default::default(), | 497 | 18 | } | 498 | 18 | } |
<(winnow::combinator::impls::Context<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0}, winnow::combinator::impls::Value<u8, &[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Value<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::map::<gix_ref::store_impl::file::log::line::decode::one<()>::{closure#1}, gix_ref::store_impl::file::log::LineRef> Line | Count | Source | 485 | 2.51M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 2.51M | where | 487 | 2.51M | G: FnMut(O) -> O2, | 488 | 2.51M | Self: core::marker::Sized, | 489 | | { | 490 | 2.51M | impls::Map { | 491 | 2.51M | parser: self, | 492 | 2.51M | map, | 493 | 2.51M | i: Default::default(), | 494 | 2.51M | o: Default::default(), | 495 | 2.51M | o2: Default::default(), | 496 | 2.51M | e: Default::default(), | 497 | 2.51M | } | 498 | 2.51M | } |
<(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::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, winnow::error::ErrMode<()>, gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[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>), winnow::error::ErrMode<()>>>::map::<gix_ref::store_impl::packed::decode::reference<()>::{closure#0}, gix_ref::store_impl::packed::Reference> Line | Count | Source | 485 | 1.42M | fn map<G, O2>(self, map: G) -> impls::Map<Self, G, I, O, O2, E> | 486 | 1.42M | where | 487 | 1.42M | G: FnMut(O) -> O2, | 488 | 1.42M | Self: core::marker::Sized, | 489 | | { | 490 | 1.42M | impls::Map { | 491 | 1.42M | parser: self, | 492 | 1.42M | map, | 493 | 1.42M | i: Default::default(), | 494 | 1.42M | o: Default::default(), | 495 | 1.42M | o2: Default::default(), | 496 | 1.42M | e: Default::default(), | 497 | 1.42M | } | 498 | 1.42M | } |
Unexecuted instantiation: <winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString> Unexecuted instantiation: <winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#2}, core::option::Option<&bstr::bstr::BStr>> Unexecuted instantiation: <winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, gix_actor::SignatureRef> Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()> Unexecuted instantiation: <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#3}, (&[u8], core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8]> Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, &str> Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#4}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef> Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef> Unexecuted instantiation: <winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString> Unexecuted instantiation: <winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#2}, core::option::Option<&bstr::bstr::BStr>> Unexecuted instantiation: <winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, gix_actor::SignatureRef> Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()> Unexecuted instantiation: <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::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), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#3}, (&[u8], core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8]> Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, &str> Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#4}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef> Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef> |
499 | | |
500 | | /// Applies a function returning a `Result` over the output of a parser. |
501 | | /// |
502 | | /// # Example |
503 | | /// |
504 | | /// ```rust |
505 | | /// # use winnow::{error::ErrMode, Parser}; |
506 | | /// # use winnow::prelude::*; |
507 | | /// use winnow::ascii::digit1; |
508 | | /// # fn main() { |
509 | | /// |
510 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<u8> { |
511 | | /// digit1.try_map(|s: &str| s.parse::<u8>()).parse_next(input) |
512 | | /// } |
513 | | /// |
514 | | /// // the parser will convert the result of digit1 to a number |
515 | | /// assert_eq!(parser.parse_peek("123"), Ok(("", 123))); |
516 | | /// |
517 | | /// // this will fail if digit1 fails |
518 | | /// assert!(parser.parse_peek("abc").is_err()); |
519 | | /// |
520 | | /// // this will fail if the mapped function fails (a `u8` is too small to hold `123456`) |
521 | | /// assert!(parser.parse_peek("123456").is_err()); |
522 | | /// # } |
523 | | /// ``` |
524 | | #[inline(always)] |
525 | 1.42M | fn try_map<G, O2, E2>(self, map: G) -> impls::TryMap<Self, G, I, O, O2, E, E2> |
526 | 1.42M | where |
527 | 1.42M | Self: core::marker::Sized, |
528 | 1.42M | G: FnMut(O) -> Result<O2, E2>, |
529 | 1.42M | I: Stream, |
530 | 1.42M | E: FromExternalError<I, E2>, |
531 | 1.42M | E: ParserError<I>, |
532 | | { |
533 | 1.42M | impls::TryMap { |
534 | 1.42M | parser: self, |
535 | 1.42M | map, |
536 | 1.42M | i: Default::default(), |
537 | 1.42M | o: Default::default(), |
538 | 1.42M | o2: Default::default(), |
539 | 1.42M | e: Default::default(), |
540 | 1.42M | e2: Default::default(), |
541 | 1.42M | } |
542 | 1.42M | } Unexecuted instantiation: <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::try_map::<<&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &gix_ref::FullNameRef, gix_validate::reference::name::Error> <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::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 | 525 | 1.42M | fn try_map<G, O2, E2>(self, map: G) -> impls::TryMap<Self, G, I, O, O2, E, E2> | 526 | 1.42M | where | 527 | 1.42M | Self: core::marker::Sized, | 528 | 1.42M | G: FnMut(O) -> Result<O2, E2>, | 529 | 1.42M | I: Stream, | 530 | 1.42M | E: FromExternalError<I, E2>, | 531 | 1.42M | E: ParserError<I>, | 532 | | { | 533 | 1.42M | impls::TryMap { | 534 | 1.42M | parser: self, | 535 | 1.42M | map, | 536 | 1.42M | i: Default::default(), | 537 | 1.42M | o: Default::default(), | 538 | 1.42M | o2: Default::default(), | 539 | 1.42M | e: Default::default(), | 540 | 1.42M | e2: Default::default(), | 541 | 1.42M | } | 542 | 1.42M | } |
|
543 | | |
544 | | /// Apply both [`Parser::verify`] and [`Parser::map`]. |
545 | | /// |
546 | | /// # Example |
547 | | /// |
548 | | /// ```rust |
549 | | /// # use winnow::{error::ErrMode, Parser}; |
550 | | /// # use winnow::prelude::*; |
551 | | /// use winnow::ascii::digit1; |
552 | | /// # fn main() { |
553 | | /// |
554 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<u8> { |
555 | | /// digit1.verify_map(|s: &str| s.parse::<u8>().ok()).parse_next(input) |
556 | | /// } |
557 | | /// |
558 | | /// // the parser will convert the result of digit1 to a number |
559 | | /// assert_eq!(parser.parse_peek("123"), Ok(("", 123))); |
560 | | /// |
561 | | /// // this will fail if digit1 fails |
562 | | /// assert!(parser.parse_peek("abc").is_err()); |
563 | | /// |
564 | | /// // this will fail if the mapped function fails (a `u8` is too small to hold `123456`) |
565 | | /// assert!(parser.parse_peek("123456").is_err()); |
566 | | /// # } |
567 | | /// ``` |
568 | | #[doc(alias = "satisfy_map")] |
569 | | #[doc(alias = "filter_map")] |
570 | | #[doc(alias = "map_opt")] |
571 | | #[inline(always)] |
572 | 1.96k | fn verify_map<G, O2>(self, map: G) -> impls::VerifyMap<Self, G, I, O, O2, E> |
573 | 1.96k | where |
574 | 1.96k | Self: core::marker::Sized, |
575 | 1.96k | G: FnMut(O) -> Option<O2>, |
576 | 1.96k | I: Stream, |
577 | 1.96k | E: ParserError<I>, |
578 | | { |
579 | 1.96k | impls::VerifyMap { |
580 | 1.96k | parser: self, |
581 | 1.96k | map, |
582 | 1.96k | i: Default::default(), |
583 | 1.96k | o: Default::default(), |
584 | 1.96k | o2: Default::default(), |
585 | 1.96k | e: Default::default(), |
586 | 1.96k | } |
587 | 1.96k | } Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind> <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind> Line | Count | Source | 572 | 1.96k | fn verify_map<G, O2>(self, map: G) -> impls::VerifyMap<Self, G, I, O, O2, E> | 573 | 1.96k | where | 574 | 1.96k | Self: core::marker::Sized, | 575 | 1.96k | G: FnMut(O) -> Option<O2>, | 576 | 1.96k | I: Stream, | 577 | 1.96k | E: ParserError<I>, | 578 | | { | 579 | 1.96k | impls::VerifyMap { | 580 | 1.96k | parser: self, | 581 | 1.96k | map, | 582 | 1.96k | i: Default::default(), | 583 | 1.96k | o: Default::default(), | 584 | 1.96k | o2: Default::default(), | 585 | 1.96k | e: Default::default(), | 586 | 1.96k | } | 587 | 1.96k | } |
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind> |
588 | | |
589 | | /// Creates a parser from the output of this one |
590 | | /// |
591 | | /// # Example |
592 | | /// |
593 | | /// ```rust |
594 | | /// # use winnow::{error::ErrMode, ModalResult, Parser}; |
595 | | /// use winnow::token::take; |
596 | | /// use winnow::binary::u8; |
597 | | /// |
598 | | /// fn length_take<'s>(input: &mut &'s [u8]) -> ModalResult<&'s [u8]> { |
599 | | /// u8.flat_map(take).parse_next(input) |
600 | | /// } |
601 | | /// |
602 | | /// assert_eq!(length_take.parse_peek(&[2, 0, 1, 2][..]), Ok((&[2][..], &[0, 1][..]))); |
603 | | /// assert!(length_take.parse_peek(&[4, 0, 1, 2][..]).is_err()); |
604 | | /// ``` |
605 | | /// |
606 | | /// which is the same as |
607 | | /// ```rust |
608 | | /// # use winnow::{error::ErrMode, ModalResult, Parser}; |
609 | | /// use winnow::token::take; |
610 | | /// use winnow::binary::u8; |
611 | | /// |
612 | | /// fn length_take<'s>(input: &mut &'s [u8]) -> ModalResult<&'s [u8]> { |
613 | | /// let length = u8.parse_next(input)?; |
614 | | /// let data = take(length).parse_next(input)?; |
615 | | /// Ok(data) |
616 | | /// } |
617 | | /// |
618 | | /// assert_eq!(length_take.parse_peek(&[2, 0, 1, 2][..]), Ok((&[2][..], &[0, 1][..]))); |
619 | | /// assert!(length_take.parse_peek(&[4, 0, 1, 2][..]).is_err()); |
620 | | /// ``` |
621 | | #[inline(always)] |
622 | | fn flat_map<G, H, O2>(self, map: G) -> impls::FlatMap<Self, G, H, I, O, O2, E> |
623 | | where |
624 | | Self: core::marker::Sized, |
625 | | G: FnMut(O) -> H, |
626 | | H: Parser<I, O2, E>, |
627 | | { |
628 | | impls::FlatMap { |
629 | | f: self, |
630 | | g: map, |
631 | | h: Default::default(), |
632 | | i: Default::default(), |
633 | | o: Default::default(), |
634 | | o2: Default::default(), |
635 | | e: Default::default(), |
636 | | } |
637 | | } |
638 | | |
639 | | /// Applies a second parser over the output of the first one |
640 | | /// |
641 | | /// # Example |
642 | | /// |
643 | | /// ```rust |
644 | | /// # use winnow::{error::ErrMode, Parser}; |
645 | | /// # use winnow::prelude::*; |
646 | | /// use winnow::ascii::digit1; |
647 | | /// use winnow::token::take; |
648 | | /// # fn main() { |
649 | | /// |
650 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<&'i str> { |
651 | | /// take(5u8).and_then(digit1).parse_next(input) |
652 | | /// } |
653 | | /// |
654 | | /// assert_eq!(parser.parse_peek("12345"), Ok(("", "12345"))); |
655 | | /// assert_eq!(parser.parse_peek("123ab"), Ok(("", "123"))); |
656 | | /// assert!(parser.parse_peek("123").is_err()); |
657 | | /// # } |
658 | | /// ``` |
659 | | #[inline(always)] |
660 | | fn and_then<G, O2>(self, inner: G) -> impls::AndThen<Self, G, I, O, O2, E> |
661 | | where |
662 | | Self: core::marker::Sized, |
663 | | G: Parser<O, O2, E>, |
664 | | O: StreamIsPartial, |
665 | | I: Stream, |
666 | | { |
667 | | impls::AndThen { |
668 | | outer: self, |
669 | | inner, |
670 | | i: Default::default(), |
671 | | o: Default::default(), |
672 | | o2: Default::default(), |
673 | | e: Default::default(), |
674 | | } |
675 | | } |
676 | | |
677 | | /// Apply [`std::str::FromStr`] to the output of the parser |
678 | | /// |
679 | | /// # Example |
680 | | /// |
681 | | /// ```rust |
682 | | /// # use winnow::prelude::*; |
683 | | /// use winnow::{error::ErrMode, Parser}; |
684 | | /// use winnow::ascii::digit1; |
685 | | /// |
686 | | /// fn parser<'s>(input: &mut &'s str) -> ModalResult<u64> { |
687 | | /// digit1.parse_to().parse_next(input) |
688 | | /// } |
689 | | /// |
690 | | /// // the parser will count how many characters were returned by digit1 |
691 | | /// assert_eq!(parser.parse_peek("123456"), Ok(("", 123456))); |
692 | | /// |
693 | | /// // this will fail if digit1 fails |
694 | | /// assert!(parser.parse_peek("abc").is_err()); |
695 | | /// ``` |
696 | | #[doc(alias = "from_str")] |
697 | | #[inline(always)] |
698 | | fn parse_to<O2>(self) -> impls::ParseTo<Self, I, O, O2, E> |
699 | | where |
700 | | Self: core::marker::Sized, |
701 | | I: Stream, |
702 | | O: ParseSlice<O2>, |
703 | | E: ParserError<I>, |
704 | | { |
705 | | impls::ParseTo { |
706 | | p: self, |
707 | | i: Default::default(), |
708 | | o: Default::default(), |
709 | | o2: Default::default(), |
710 | | e: Default::default(), |
711 | | } |
712 | | } |
713 | | |
714 | | /// Returns the output of the child parser if it satisfies a verification function. |
715 | | /// |
716 | | /// The verification function takes as argument a reference to the output of the |
717 | | /// parser. |
718 | | /// |
719 | | /// # Example |
720 | | /// |
721 | | /// ```rust |
722 | | /// # use winnow::{error::ErrMode, Parser}; |
723 | | /// # use winnow::ascii::alpha1; |
724 | | /// # use winnow::prelude::*; |
725 | | /// # fn main() { |
726 | | /// |
727 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<&'i str> { |
728 | | /// alpha1.verify(|s: &str| s.len() == 4).parse_next(input) |
729 | | /// } |
730 | | /// |
731 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", "abcd"))); |
732 | | /// assert!(parser.parse_peek("abcde").is_err()); |
733 | | /// assert!(parser.parse_peek("123abcd;").is_err()); |
734 | | /// # } |
735 | | /// ``` |
736 | | #[doc(alias = "satisfy")] |
737 | | #[doc(alias = "filter")] |
738 | | #[inline(always)] |
739 | 145M | fn verify<G, O2>(self, filter: G) -> impls::Verify<Self, G, I, O, O2, E> |
740 | 145M | where |
741 | 145M | Self: core::marker::Sized, |
742 | 145M | G: FnMut(&O2) -> bool, |
743 | 145M | I: Stream, |
744 | 145M | O: crate::lib::std::borrow::Borrow<O2>, |
745 | 145M | O2: ?Sized, |
746 | 145M | E: ParserError<I>, |
747 | | { |
748 | 145M | impls::Verify { |
749 | 145M | parser: self, |
750 | 145M | filter, |
751 | 145M | i: Default::default(), |
752 | 145M | o: Default::default(), |
753 | 145M | o2: Default::default(), |
754 | 145M | e: Default::default(), |
755 | 145M | } |
756 | 145M | } <winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::verify::<winnow::token::one_of<&[u8], [char; 2], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, u8> Line | Count | Source | 739 | 75.7M | fn verify<G, O2>(self, filter: G) -> impls::Verify<Self, G, I, O, O2, E> | 740 | 75.7M | where | 741 | 75.7M | Self: core::marker::Sized, | 742 | 75.7M | G: FnMut(&O2) -> bool, | 743 | 75.7M | I: Stream, | 744 | 75.7M | O: crate::lib::std::borrow::Borrow<O2>, | 745 | 75.7M | O2: ?Sized, | 746 | 75.7M | E: ParserError<I>, | 747 | | { | 748 | 75.7M | impls::Verify { | 749 | 75.7M | parser: self, | 750 | 75.7M | filter, | 751 | 75.7M | i: Default::default(), | 752 | 75.7M | o: Default::default(), | 753 | 75.7M | o2: Default::default(), | 754 | 75.7M | e: Default::default(), | 755 | 75.7M | } | 756 | 75.7M | } |
<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::verify::<winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, u8> Line | Count | Source | 739 | 50.3M | fn verify<G, O2>(self, filter: G) -> impls::Verify<Self, G, I, O, O2, E> | 740 | 50.3M | where | 741 | 50.3M | Self: core::marker::Sized, | 742 | 50.3M | G: FnMut(&O2) -> bool, | 743 | 50.3M | I: Stream, | 744 | 50.3M | O: crate::lib::std::borrow::Borrow<O2>, | 745 | 50.3M | O2: ?Sized, | 746 | 50.3M | E: ParserError<I>, | 747 | | { | 748 | 50.3M | impls::Verify { | 749 | 50.3M | parser: self, | 750 | 50.3M | filter, | 751 | 50.3M | i: Default::default(), | 752 | 50.3M | o: Default::default(), | 753 | 50.3M | o2: Default::default(), | 754 | 50.3M | e: Default::default(), | 755 | 50.3M | } | 756 | 50.3M | } |
<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::verify::<winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, u8> Line | Count | Source | 739 | 4.61M | fn verify<G, O2>(self, filter: G) -> impls::Verify<Self, G, I, O, O2, E> | 740 | 4.61M | where | 741 | 4.61M | Self: core::marker::Sized, | 742 | 4.61M | G: FnMut(&O2) -> bool, | 743 | 4.61M | I: Stream, | 744 | 4.61M | O: crate::lib::std::borrow::Borrow<O2>, | 745 | 4.61M | O2: ?Sized, | 746 | 4.61M | E: ParserError<I>, | 747 | | { | 748 | 4.61M | impls::Verify { | 749 | 4.61M | parser: self, | 750 | 4.61M | filter, | 751 | 4.61M | i: Default::default(), | 752 | 4.61M | o: Default::default(), | 753 | 4.61M | o2: Default::default(), | 754 | 4.61M | e: Default::default(), | 755 | 4.61M | } | 756 | 4.61M | } |
<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::verify::<winnow::token::one_of<&[u8], char, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, u8> Line | Count | Source | 739 | 14.8M | fn verify<G, O2>(self, filter: G) -> impls::Verify<Self, G, I, O, O2, E> | 740 | 14.8M | where | 741 | 14.8M | Self: core::marker::Sized, | 742 | 14.8M | G: FnMut(&O2) -> bool, | 743 | 14.8M | I: Stream, | 744 | 14.8M | O: crate::lib::std::borrow::Borrow<O2>, | 745 | 14.8M | O2: ?Sized, | 746 | 14.8M | E: ParserError<I>, | 747 | | { | 748 | 14.8M | impls::Verify { | 749 | 14.8M | parser: self, | 750 | 14.8M | filter, | 751 | 14.8M | i: Default::default(), | 752 | 14.8M | o: Default::default(), | 753 | 14.8M | o2: Default::default(), | 754 | 14.8M | e: Default::default(), | 755 | 14.8M | } | 756 | 14.8M | } |
|
757 | | |
758 | | /// If parsing fails, add context to the error |
759 | | /// |
760 | | /// This is used mainly to add user friendly information |
761 | | /// to errors when backtracking through a parse tree. |
762 | | /// |
763 | | /// See also [tutorial][crate::_tutorial::chapter_7]. |
764 | | /// |
765 | | /// # Example |
766 | | /// |
767 | | /// ```rust |
768 | | /// # use winnow::prelude::*; |
769 | | /// # use winnow::{error::ErrMode, Parser}; |
770 | | /// # use winnow::ascii::digit1; |
771 | | /// # use winnow::error::StrContext; |
772 | | /// # use winnow::error::StrContextValue; |
773 | | /// # fn main() { |
774 | | /// |
775 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<&'i str> { |
776 | | /// digit1 |
777 | | /// .context(StrContext::Expected(StrContextValue::Description("digit"))) |
778 | | /// .parse_next(input) |
779 | | /// } |
780 | | /// |
781 | | /// assert_eq!(parser.parse_peek("123456"), Ok(("", "123456"))); |
782 | | /// assert!(parser.parse_peek("abc").is_err()); |
783 | | /// # } |
784 | | /// ``` |
785 | | #[doc(alias = "labelled")] |
786 | | #[inline(always)] |
787 | 17.8M | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> |
788 | 17.8M | where |
789 | 17.8M | Self: core::marker::Sized, |
790 | 17.8M | I: Stream, |
791 | 17.8M | E: AddContext<I, C>, |
792 | 17.8M | E: ParserError<I>, |
793 | 17.8M | C: Clone + crate::lib::std::fmt::Debug, |
794 | | { |
795 | 17.8M | impls::Context { |
796 | 17.8M | parser: self, |
797 | 17.8M | context, |
798 | 17.8M | i: Default::default(), |
799 | 17.8M | o: Default::default(), |
800 | 17.8M | e: Default::default(), |
801 | 17.8M | } |
802 | 17.8M | } Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::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::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> <winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.00k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.00k | where | 789 | 2.00k | Self: core::marker::Sized, | 790 | 2.00k | I: Stream, | 791 | 2.00k | E: AddContext<I, C>, | 792 | 2.00k | E: ParserError<I>, | 793 | 2.00k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.00k | impls::Context { | 796 | 2.00k | parser: self, | 797 | 2.00k | context, | 798 | 2.00k | i: Default::default(), | 799 | 2.00k | o: Default::default(), | 800 | 2.00k | e: Default::default(), | 801 | 2.00k | } | 802 | 2.00k | } |
<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.96k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.96k | where | 789 | 1.96k | Self: core::marker::Sized, | 790 | 1.96k | I: Stream, | 791 | 1.96k | E: AddContext<I, C>, | 792 | 1.96k | E: ParserError<I>, | 793 | 1.96k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.96k | impls::Context { | 796 | 1.96k | parser: self, | 797 | 1.96k | context, | 798 | 1.96k | i: Default::default(), | 799 | 1.96k | o: Default::default(), | 800 | 1.96k | e: Default::default(), | 801 | 1.96k | } | 802 | 1.96k | } |
<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.00k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.00k | where | 789 | 2.00k | Self: core::marker::Sized, | 790 | 2.00k | I: Stream, | 791 | 2.00k | E: AddContext<I, C>, | 792 | 2.00k | E: ParserError<I>, | 793 | 2.00k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.00k | impls::Context { | 796 | 2.00k | parser: self, | 797 | 2.00k | context, | 798 | 2.00k | i: Default::default(), | 799 | 2.00k | o: Default::default(), | 800 | 2.00k | e: Default::default(), | 801 | 2.00k | } | 802 | 2.00k | } |
<gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.96k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.96k | where | 789 | 1.96k | Self: core::marker::Sized, | 790 | 1.96k | I: Stream, | 791 | 1.96k | E: AddContext<I, C>, | 792 | 1.96k | E: ParserError<I>, | 793 | 1.96k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.96k | impls::Context { | 796 | 1.96k | parser: self, | 797 | 1.96k | context, | 798 | 1.96k | i: Default::default(), | 799 | 1.96k | o: Default::default(), | 800 | 1.96k | e: Default::default(), | 801 | 1.96k | } | 802 | 1.96k | } |
<gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.96k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.96k | where | 789 | 1.96k | Self: core::marker::Sized, | 790 | 1.96k | I: Stream, | 791 | 1.96k | E: AddContext<I, C>, | 792 | 1.96k | E: ParserError<I>, | 793 | 1.96k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.96k | impls::Context { | 796 | 1.96k | parser: self, | 797 | 1.96k | context, | 798 | 1.96k | i: Default::default(), | 799 | 1.96k | o: Default::default(), | 800 | 1.96k | e: Default::default(), | 801 | 1.96k | } | 802 | 1.96k | } |
<gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.00k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.00k | where | 789 | 2.00k | Self: core::marker::Sized, | 790 | 2.00k | I: Stream, | 791 | 2.00k | E: AddContext<I, C>, | 792 | 2.00k | E: ParserError<I>, | 793 | 2.00k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.00k | impls::Context { | 796 | 2.00k | parser: self, | 797 | 2.00k | context, | 798 | 2.00k | i: Default::default(), | 799 | 2.00k | o: Default::default(), | 800 | 2.00k | e: Default::default(), | 801 | 2.00k | } | 802 | 2.00k | } |
<gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.00k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.00k | where | 789 | 2.00k | Self: core::marker::Sized, | 790 | 2.00k | I: Stream, | 791 | 2.00k | E: AddContext<I, C>, | 792 | 2.00k | E: ParserError<I>, | 793 | 2.00k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.00k | impls::Context { | 796 | 2.00k | parser: self, | 797 | 2.00k | context, | 798 | 2.00k | i: Default::default(), | 799 | 2.00k | o: Default::default(), | 800 | 2.00k | e: Default::default(), | 801 | 2.00k | } | 802 | 2.00k | } |
<gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.00k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.00k | where | 789 | 2.00k | Self: core::marker::Sized, | 790 | 2.00k | I: Stream, | 791 | 2.00k | E: AddContext<I, C>, | 792 | 2.00k | E: ParserError<I>, | 793 | 2.00k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.00k | impls::Context { | 796 | 2.00k | parser: self, | 797 | 2.00k | context, | 798 | 2.00k | i: Default::default(), | 799 | 2.00k | o: Default::default(), | 800 | 2.00k | e: Default::default(), | 801 | 2.00k | } | 802 | 2.00k | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.00k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.00k | where | 789 | 2.00k | Self: core::marker::Sized, | 790 | 2.00k | I: Stream, | 791 | 2.00k | E: AddContext<I, C>, | 792 | 2.00k | E: ParserError<I>, | 793 | 2.00k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.00k | impls::Context { | 796 | 2.00k | parser: self, | 797 | 2.00k | context, | 798 | 2.00k | i: Default::default(), | 799 | 2.00k | o: Default::default(), | 800 | 2.00k | e: Default::default(), | 801 | 2.00k | } | 802 | 2.00k | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 716 | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 716 | where | 789 | 716 | Self: core::marker::Sized, | 790 | 716 | I: Stream, | 791 | 716 | E: AddContext<I, C>, | 792 | 716 | E: ParserError<I>, | 793 | 716 | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 716 | impls::Context { | 796 | 716 | parser: self, | 797 | 716 | context, | 798 | 716 | i: Default::default(), | 799 | 716 | o: Default::default(), | 800 | 716 | e: Default::default(), | 801 | 716 | } | 802 | 716 | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.96k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.96k | where | 789 | 1.96k | Self: core::marker::Sized, | 790 | 1.96k | I: Stream, | 791 | 1.96k | E: AddContext<I, C>, | 792 | 1.96k | E: ParserError<I>, | 793 | 1.96k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.96k | impls::Context { | 796 | 1.96k | parser: self, | 797 | 1.96k | context, | 798 | 1.96k | i: Default::default(), | 799 | 1.96k | o: Default::default(), | 800 | 1.96k | e: Default::default(), | 801 | 1.96k | } | 802 | 1.96k | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.45k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.45k | where | 789 | 1.45k | Self: core::marker::Sized, | 790 | 1.45k | I: Stream, | 791 | 1.45k | E: AddContext<I, C>, | 792 | 1.45k | E: ParserError<I>, | 793 | 1.45k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.45k | impls::Context { | 796 | 1.45k | parser: self, | 797 | 1.45k | context, | 798 | 1.45k | i: Default::default(), | 799 | 1.45k | o: Default::default(), | 800 | 1.45k | e: Default::default(), | 801 | 1.45k | } | 802 | 1.45k | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 4.56k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 4.56k | where | 789 | 4.56k | Self: core::marker::Sized, | 790 | 4.56k | I: Stream, | 791 | 4.56k | E: AddContext<I, C>, | 792 | 4.56k | E: ParserError<I>, | 793 | 4.56k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 4.56k | impls::Context { | 796 | 4.56k | parser: self, | 797 | 4.56k | context, | 798 | 4.56k | i: Default::default(), | 799 | 4.56k | o: Default::default(), | 800 | 4.56k | e: Default::default(), | 801 | 4.56k | } | 802 | 4.56k | } |
<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 851k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 851k | where | 789 | 851k | Self: core::marker::Sized, | 790 | 851k | I: Stream, | 791 | 851k | E: AddContext<I, C>, | 792 | 851k | E: ParserError<I>, | 793 | 851k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 851k | impls::Context { | 796 | 851k | parser: self, | 797 | 851k | context, | 798 | 851k | i: Default::default(), | 799 | 851k | o: Default::default(), | 800 | 851k | e: Default::default(), | 801 | 851k | } | 802 | 851k | } |
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 6.76k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 6.76k | where | 789 | 6.76k | Self: core::marker::Sized, | 790 | 6.76k | I: Stream, | 791 | 6.76k | E: AddContext<I, C>, | 792 | 6.76k | E: ParserError<I>, | 793 | 6.76k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 6.76k | impls::Context { | 796 | 6.76k | parser: self, | 797 | 6.76k | context, | 798 | 6.76k | i: Default::default(), | 799 | 6.76k | o: Default::default(), | 800 | 6.76k | e: Default::default(), | 801 | 6.76k | } | 802 | 6.76k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 834 | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 834 | where | 789 | 834 | Self: core::marker::Sized, | 790 | 834 | I: Stream, | 791 | 834 | E: AddContext<I, C>, | 792 | 834 | E: ParserError<I>, | 793 | 834 | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 834 | impls::Context { | 796 | 834 | parser: self, | 797 | 834 | context, | 798 | 834 | i: Default::default(), | 799 | 834 | o: Default::default(), | 800 | 834 | e: Default::default(), | 801 | 834 | } | 802 | 834 | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.00k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.00k | where | 789 | 2.00k | Self: core::marker::Sized, | 790 | 2.00k | I: Stream, | 791 | 2.00k | E: AddContext<I, C>, | 792 | 2.00k | E: ParserError<I>, | 793 | 2.00k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.00k | impls::Context { | 796 | 2.00k | parser: self, | 797 | 2.00k | context, | 798 | 2.00k | i: Default::default(), | 799 | 2.00k | o: Default::default(), | 800 | 2.00k | e: Default::default(), | 801 | 2.00k | } | 802 | 2.00k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.64k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.64k | where | 789 | 2.64k | Self: core::marker::Sized, | 790 | 2.64k | I: Stream, | 791 | 2.64k | E: AddContext<I, C>, | 792 | 2.64k | E: ParserError<I>, | 793 | 2.64k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.64k | impls::Context { | 796 | 2.64k | parser: self, | 797 | 2.64k | context, | 798 | 2.64k | i: Default::default(), | 799 | 2.64k | o: Default::default(), | 800 | 2.64k | e: Default::default(), | 801 | 2.64k | } | 802 | 2.64k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.96k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.96k | where | 789 | 1.96k | Self: core::marker::Sized, | 790 | 1.96k | I: Stream, | 791 | 1.96k | E: AddContext<I, C>, | 792 | 1.96k | E: ParserError<I>, | 793 | 1.96k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.96k | impls::Context { | 796 | 1.96k | parser: self, | 797 | 1.96k | context, | 798 | 1.96k | i: Default::default(), | 799 | 1.96k | o: Default::default(), | 800 | 1.96k | e: Default::default(), | 801 | 1.96k | } | 802 | 1.96k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.51k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.51k | where | 789 | 1.51k | Self: core::marker::Sized, | 790 | 1.51k | I: Stream, | 791 | 1.51k | E: AddContext<I, C>, | 792 | 1.51k | E: ParserError<I>, | 793 | 1.51k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.51k | impls::Context { | 796 | 1.51k | parser: self, | 797 | 1.51k | context, | 798 | 1.51k | i: Default::default(), | 799 | 1.51k | o: Default::default(), | 800 | 1.51k | e: Default::default(), | 801 | 1.51k | } | 802 | 1.51k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.77k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.77k | where | 789 | 1.77k | Self: core::marker::Sized, | 790 | 1.77k | I: Stream, | 791 | 1.77k | E: AddContext<I, C>, | 792 | 1.77k | E: ParserError<I>, | 793 | 1.77k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.77k | impls::Context { | 796 | 1.77k | parser: self, | 797 | 1.77k | context, | 798 | 1.77k | i: Default::default(), | 799 | 1.77k | o: Default::default(), | 800 | 1.77k | e: Default::default(), | 801 | 1.77k | } | 802 | 1.77k | } |
<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 1.70M | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 1.70M | where | 789 | 1.70M | Self: core::marker::Sized, | 790 | 1.70M | I: Stream, | 791 | 1.70M | E: AddContext<I, C>, | 792 | 1.70M | E: ParserError<I>, | 793 | 1.70M | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 1.70M | impls::Context { | 796 | 1.70M | parser: self, | 797 | 1.70M | context, | 798 | 1.70M | i: Default::default(), | 799 | 1.70M | o: Default::default(), | 800 | 1.70M | e: Default::default(), | 801 | 1.70M | } | 802 | 1.70M | } |
<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.51M | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.51M | where | 789 | 2.51M | Self: core::marker::Sized, | 790 | 2.51M | I: Stream, | 791 | 2.51M | E: AddContext<I, C>, | 792 | 2.51M | E: ParserError<I>, | 793 | 2.51M | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.51M | impls::Context { | 796 | 2.51M | parser: self, | 797 | 2.51M | context, | 798 | 2.51M | i: Default::default(), | 799 | 2.51M | o: Default::default(), | 800 | 2.51M | e: Default::default(), | 801 | 2.51M | } | 802 | 2.51M | } |
<gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.53M | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.53M | where | 789 | 2.53M | Self: core::marker::Sized, | 790 | 2.53M | I: Stream, | 791 | 2.53M | E: AddContext<I, C>, | 792 | 2.53M | E: ParserError<I>, | 793 | 2.53M | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.53M | impls::Context { | 796 | 2.53M | parser: self, | 797 | 2.53M | context, | 798 | 2.53M | i: Default::default(), | 799 | 2.53M | o: Default::default(), | 800 | 2.53M | e: Default::default(), | 801 | 2.53M | } | 802 | 2.53M | } |
<gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.51M | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.51M | where | 789 | 2.51M | Self: core::marker::Sized, | 790 | 2.51M | I: Stream, | 791 | 2.51M | E: AddContext<I, C>, | 792 | 2.51M | E: ParserError<I>, | 793 | 2.51M | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.51M | impls::Context { | 796 | 2.51M | parser: self, | 797 | 2.51M | context, | 798 | 2.51M | i: Default::default(), | 799 | 2.51M | o: Default::default(), | 800 | 2.51M | e: Default::default(), | 801 | 2.51M | } | 802 | 2.51M | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 5.07M | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 5.07M | where | 789 | 5.07M | Self: core::marker::Sized, | 790 | 5.07M | I: Stream, | 791 | 5.07M | E: AddContext<I, C>, | 792 | 5.07M | E: ParserError<I>, | 793 | 5.07M | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 5.07M | impls::Context { | 796 | 5.07M | parser: self, | 797 | 5.07M | context, | 798 | 5.07M | i: Default::default(), | 799 | 5.07M | o: Default::default(), | 800 | 5.07M | e: Default::default(), | 801 | 5.07M | } | 802 | 5.07M | } |
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 71.4k | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 71.4k | where | 789 | 71.4k | Self: core::marker::Sized, | 790 | 71.4k | I: Stream, | 791 | 71.4k | E: AddContext<I, C>, | 792 | 71.4k | E: ParserError<I>, | 793 | 71.4k | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 71.4k | impls::Context { | 796 | 71.4k | parser: self, | 797 | 71.4k | context, | 798 | 71.4k | i: Default::default(), | 799 | 71.4k | o: Default::default(), | 800 | 71.4k | e: Default::default(), | 801 | 71.4k | } | 802 | 71.4k | } |
<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Line | Count | Source | 787 | 2.53M | fn context<C>(self, context: C) -> impls::Context<Self, I, O, E, C> | 788 | 2.53M | where | 789 | 2.53M | Self: core::marker::Sized, | 790 | 2.53M | I: Stream, | 791 | 2.53M | E: AddContext<I, C>, | 792 | 2.53M | E: ParserError<I>, | 793 | 2.53M | C: Clone + crate::lib::std::fmt::Debug, | 794 | | { | 795 | 2.53M | impls::Context { | 796 | 2.53M | parser: self, | 797 | 2.53M | context, | 798 | 2.53M | i: Default::default(), | 799 | 2.53M | o: Default::default(), | 800 | 2.53M | e: Default::default(), | 801 | 2.53M | } | 802 | 2.53M | } |
Unexecuted instantiation: <winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::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::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::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::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::context::<winnow::error::StrContext> |
803 | | |
804 | | /// If parsing fails, dynamically add context to the error |
805 | | /// |
806 | | /// This is used mainly to add user friendly information |
807 | | /// to errors when backtracking through a parse tree. |
808 | | /// |
809 | | /// See also [tutorial][crate::_tutorial::chapter_7]. |
810 | | /// |
811 | | /// # Example |
812 | | /// |
813 | | /// ```rust |
814 | | /// # use winnow::prelude::*; |
815 | | /// # use winnow::{error::ErrMode, Parser}; |
816 | | /// # use winnow::ascii::digit1; |
817 | | /// # use winnow::error::StrContext; |
818 | | /// # use winnow::error::StrContextValue; |
819 | | /// # fn main() { |
820 | | /// |
821 | | /// fn parser<'i>(input: &mut &'i str) -> ModalResult<&'i str> { |
822 | | /// digit1 |
823 | | /// .context_with(|| { |
824 | | /// "0123456789".chars().map(|c| StrContext::Expected(c.into())) |
825 | | /// }) |
826 | | /// .parse_next(input) |
827 | | /// } |
828 | | /// |
829 | | /// assert_eq!(parser.parse_peek("123456"), Ok(("", "123456"))); |
830 | | /// assert!(parser.parse_peek("abc").is_err()); |
831 | | /// # } |
832 | | /// ``` |
833 | | #[doc(alias = "labelled")] |
834 | | #[inline(always)] |
835 | | fn context_with<F, C, FI>(self, context: F) -> impls::ContextWith<Self, I, O, E, F, C, FI> |
836 | | where |
837 | | Self: core::marker::Sized, |
838 | | I: Stream, |
839 | | E: AddContext<I, C>, |
840 | | E: ParserError<I>, |
841 | | F: Fn() -> FI + Clone, |
842 | | C: crate::lib::std::fmt::Debug, |
843 | | FI: Iterator<Item = C>, |
844 | | { |
845 | | impls::ContextWith { |
846 | | parser: self, |
847 | | context, |
848 | | i: Default::default(), |
849 | | o: Default::default(), |
850 | | e: Default::default(), |
851 | | c: Default::default(), |
852 | | fi: Default::default(), |
853 | | } |
854 | | } |
855 | | |
856 | | /// Maps a function over the error of a parser |
857 | | /// |
858 | | /// # Example |
859 | | /// |
860 | | /// ```rust |
861 | | /// # use winnow::prelude::*; |
862 | | /// # use winnow::Parser; |
863 | | /// # use winnow::Result; |
864 | | /// # use winnow::ascii::digit1; |
865 | | /// # use winnow::error::StrContext; |
866 | | /// # use winnow::error::AddContext; |
867 | | /// # use winnow::error::ContextError; |
868 | | /// # fn main() { |
869 | | /// |
870 | | /// fn parser<'i>(input: &mut &'i str) -> Result<&'i str> { |
871 | | /// digit1.map_err(|mut e: ContextError| { |
872 | | /// e.extend("0123456789".chars().map(|c| StrContext::Expected(c.into()))); |
873 | | /// e |
874 | | /// }).parse_next(input) |
875 | | /// } |
876 | | /// |
877 | | /// assert_eq!(parser.parse_peek("123456"), Ok(("", "123456"))); |
878 | | /// assert!(parser.parse_peek("abc").is_err()); |
879 | | /// # } |
880 | | /// ``` |
881 | | #[inline(always)] |
882 | | fn map_err<G, E2>(self, map: G) -> impls::MapErr<Self, G, I, O, E, E2> |
883 | | where |
884 | | G: FnMut(E) -> E2, |
885 | | Self: core::marker::Sized, |
886 | | { |
887 | | impls::MapErr { |
888 | | parser: self, |
889 | | map, |
890 | | i: Default::default(), |
891 | | o: Default::default(), |
892 | | e: Default::default(), |
893 | | e2: Default::default(), |
894 | | } |
895 | | } |
896 | | |
897 | | /// Transforms [`Incomplete`][crate::error::ErrMode::Incomplete] into [`Backtrack`][crate::error::ErrMode::Backtrack] |
898 | | /// |
899 | | /// # Example |
900 | | /// |
901 | | /// ```rust |
902 | | /// # use winnow::{error::ErrMode, error::InputError, stream::Partial, Parser}; |
903 | | /// # use winnow::token::take; |
904 | | /// # use winnow::prelude::*; |
905 | | /// # fn main() { |
906 | | /// |
907 | | /// fn parser<'i>(input: &mut Partial<&'i str>) -> ModalResult<&'i str, InputError<Partial<&'i str>>> { |
908 | | /// take(5u8).complete_err().parse_next(input) |
909 | | /// } |
910 | | /// |
911 | | /// assert_eq!(parser.parse_peek(Partial::new("abcdefg")), Ok((Partial::new("fg"), "abcde"))); |
912 | | /// assert_eq!(parser.parse_peek(Partial::new("abcd")), Err(ErrMode::Backtrack(InputError::at(Partial::new("abcd"))))); |
913 | | /// # } |
914 | | /// ``` |
915 | | #[inline(always)] |
916 | | fn complete_err(self) -> impls::CompleteErr<Self, I, O, E> |
917 | | where |
918 | | Self: core::marker::Sized, |
919 | | { |
920 | | impls::CompleteErr { |
921 | | p: self, |
922 | | i: Default::default(), |
923 | | o: Default::default(), |
924 | | e: Default::default(), |
925 | | } |
926 | | } |
927 | | |
928 | | /// Convert the parser's error to another type using [`std::convert::From`] |
929 | | #[inline(always)] |
930 | | fn err_into<E2>(self) -> impls::ErrInto<Self, I, O, E, E2> |
931 | | where |
932 | | Self: core::marker::Sized, |
933 | | E: Into<E2>, |
934 | | { |
935 | | impls::ErrInto { |
936 | | parser: self, |
937 | | i: Default::default(), |
938 | | o: Default::default(), |
939 | | e: Default::default(), |
940 | | e2: Default::default(), |
941 | | } |
942 | | } |
943 | | |
944 | | /// Recover from an error by skipping everything `recover` consumes and trying again |
945 | | /// |
946 | | /// If `recover` consumes nothing, the error is returned, allowing an alternative recovery |
947 | | /// method. |
948 | | /// |
949 | | /// This commits the parse result, preventing alternative branch paths like with |
950 | | /// [`winnow::combinator::alt`][crate::combinator::alt]. |
951 | | #[inline(always)] |
952 | | #[cfg(feature = "unstable-recover")] |
953 | | #[cfg(feature = "std")] |
954 | | fn retry_after<R>(self, recover: R) -> impls::RetryAfter<Self, R, I, O, E> |
955 | | where |
956 | | Self: core::marker::Sized, |
957 | | R: Parser<I, (), E>, |
958 | | I: Stream, |
959 | | I: Recover<E>, |
960 | | E: ParserError<I> + FromRecoverableError<I, E>, |
961 | | { |
962 | | impls::RetryAfter { |
963 | | parser: self, |
964 | | recover, |
965 | | i: Default::default(), |
966 | | o: Default::default(), |
967 | | e: Default::default(), |
968 | | } |
969 | | } |
970 | | |
971 | | /// Recover from an error by skipping this parse and everything `recover` consumes |
972 | | /// |
973 | | /// This commits the parse result, preventing alternative branch paths like with |
974 | | /// [`winnow::combinator::alt`][crate::combinator::alt]. |
975 | | #[inline(always)] |
976 | | #[cfg(feature = "unstable-recover")] |
977 | | #[cfg(feature = "std")] |
978 | | fn resume_after<R>(self, recover: R) -> impls::ResumeAfter<Self, R, I, O, E> |
979 | | where |
980 | | Self: core::marker::Sized, |
981 | | R: Parser<I, (), E>, |
982 | | I: Stream, |
983 | | I: Recover<E>, |
984 | | E: ParserError<I> + FromRecoverableError<I, E>, |
985 | | { |
986 | | impls::ResumeAfter { |
987 | | parser: self, |
988 | | recover, |
989 | | i: Default::default(), |
990 | | o: Default::default(), |
991 | | e: Default::default(), |
992 | | } |
993 | | } |
994 | | } |
995 | | |
996 | | impl<I, O, E, F> Parser<I, O, E> for F |
997 | | where |
998 | | F: FnMut(&mut I) -> Result<O, E>, |
999 | | I: Stream, |
1000 | | { |
1001 | | #[inline(always)] |
1002 | 1.56G | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { |
1003 | 1.56G | self(i) |
1004 | 1.56G | } <winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 144M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 144M | self(i) | 1004 | 144M | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], gix_config::parse::Event, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, (winnow::combinator::impls::Map<gix_config::parse::nom::comment, gix_config::parse::Event::Comment, &[u8], gix_config::parse::Comment, gix_config::parse::Event, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::combinator::impls::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::ErrMode<winnow::error::InputError<&[u8]>>>, gix_config::parse::nom::from_bytes::{closure#1})>::{closure#0}, &[u8], gix_config::parse::Event, (), winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 20.8k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 20.8k | self(i) | 1004 | 20.8k | } |
<winnow::token::take_while<gix_config::parse::nom::value_impl::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 15.8M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 15.8M | self(i) | 1004 | 15.8M | } |
<winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 16.2M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 16.2M | self(i) | 1004 | 16.2M | } |
<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 14.8M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 14.8M | self(i) | 1004 | 14.8M | } |
<winnow::token::take_while<gix_config::parse::nom::is_subsection_unescaped_char, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 8.22M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.22M | self(i) | 1004 | 8.22M | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_space, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 80.7M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 80.7M | self(i) | 1004 | 80.7M | } |
<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 144M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 144M | self(i) | 1004 | 144M | } |
<winnow::token::literal<&str, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 208M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 208M | self(i) | 1004 | 208M | } |
<winnow::token::literal<char, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 36.5M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 36.5M | self(i) | 1004 | 36.5M | } |
<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 23.7M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 23.7M | self(i) | 1004 | 23.7M | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, gix_config::parse::nom::subsection_subset>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 8.22M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.22M | self(i) | 1004 | 8.22M | } |
<winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 700k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 700k | self(i) | 1004 | 700k | } |
<winnow::combinator::core::opt<&[u8], gix_config::parse::Comment, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 50.3M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 50.3M | self(i) | 1004 | 50.3M | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 50.3M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 50.3M | self(i) | 1004 | 50.3M | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 67.0M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 67.0M | self(i) | 1004 | 67.0M | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 50.3M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 50.3M | self(i) | 1004 | 50.3M | } |
<winnow::combinator::core::opt<&[u8], char, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, char>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<char>, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 16.2M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 16.2M | self(i) | 1004 | 16.2M | } |
<winnow::combinator::core::opt<&[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], char, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 14.8M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 14.8M | self(i) | 1004 | 14.8M | } |
<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 8.22M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.22M | self(i) | 1004 | 8.22M | } |
<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, (&str, &str)>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 108M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 108M | self(i) | 1004 | 108M | } |
<winnow::combinator::branch::alt<&[u8], gix_config::parse::Event, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, (winnow::combinator::impls::Map<gix_config::parse::nom::comment, gix_config::parse::Event::Comment, &[u8], gix_config::parse::Comment, gix_config::parse::Event, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::combinator::impls::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::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 25.3M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 25.3M | self(i) | 1004 | 25.3M | } |
<winnow::combinator::sequence::preceded<&[u8], char, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, char, winnow::combinator::impls::Take<winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, &[u8], u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 4.61M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.61M | self(i) | 1004 | 4.61M | } |
<winnow::combinator::sequence::preceded<&[u8], char, &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, char, winnow::combinator::impls::Map<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 14.8M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 14.8M | self(i) | 1004 | 14.8M | } |
<winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 700k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 700k | self(i) | 1004 | 700k | } |
<gix_config::parse::nom::from_bytes::{closure#4} as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 14.8M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 14.8M | self(i) | 1004 | 14.8M | } |
<gix_config::parse::nom::from_bytes::{closure#1} as winnow::parser::Parser<&[u8], gix_config::parse::Event, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 12.6M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 12.6M | self(i) | 1004 | 12.6M | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 63.0M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 63.0M | self(i) | 1004 | 63.0M | } |
<<winnow::combinator::multi::Repeat<gix_config::parse::nom::from_bytes::{closure#4}, &[u8], (), (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 13.6k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 13.6k | self(i) | 1004 | 13.6k | } |
<gix_config::parse::nom::config_name as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 50.3M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 50.3M | self(i) | 1004 | 50.3M | } |
<gix_config::parse::nom::sub_section as winnow::parser::Parser<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 700k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 700k | self(i) | 1004 | 700k | } |
<gix_config::parse::nom::take_spaces1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 80.7M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 80.7M | self(i) | 1004 | 80.7M | } |
<gix_config::parse::nom::take_newlines1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 63.0M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 63.0M | self(i) | 1004 | 63.0M | } |
<gix_config::parse::nom::subsection_subset as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 8.22M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.22M | self(i) | 1004 | 8.22M | } |
<gix_config::parse::nom::subsection_unescaped as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 8.22M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.22M | self(i) | 1004 | 8.22M | } |
<gix_config::parse::nom::subsection_escaped_char as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 4.61M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.61M | self(i) | 1004 | 4.61M | } |
<gix_config::parse::nom::comment as winnow::parser::Parser<&[u8], gix_config::parse::Comment, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1002 | 75.7M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 75.7M | self(i) | 1004 | 75.7M | } |
Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_ref::parse::newline<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <gix_ref::parse::newline<()> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_ref::parse::hex_hash<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <gix_ref::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::packed::decode::header<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::decode::Header, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::packed::decode::reference<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::Reference, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 18], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&str, &[u8], winnow::error::ErrMode<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::token::literal<u8, &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, &str, winnow::token::take_while<u8, &[u8], winnow::error::ErrMode<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::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[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>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], u8, winnow::error::ErrMode<()>, u8>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<()>, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0}, winnow::combinator::impls::Value<u8, &[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Value<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>)>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, &str, winnow::token::take_while<u8, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, winnow::error::ErrMode<()>, u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], gix_ref::store_impl::packed::decode::Header, &[u8], winnow::error::ErrMode<()>, gix_ref::store_impl::packed::decode::header<()>, winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<()>, (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::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>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>), &[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.73k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.73k | self(i) | 1004 | 1.73k | } |
<gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 852k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 852k | self(i) | 1004 | 852k | } |
<gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 13.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 13.4k | self(i) | 1004 | 13.4k | } |
<gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 6.76k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 6.76k | self(i) | 1004 | 6.76k | } |
<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.78k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.78k | self(i) | 1004 | 1.78k | } |
<gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.96k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.96k | self(i) | 1004 | 1.96k | } |
<gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.28k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.28k | self(i) | 1004 | 2.28k | } |
<gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.00k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.00k | self(i) | 1004 | 2.00k | } |
<gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.13k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.13k | self(i) | 1004 | 1.13k | } |
<gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 974 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 974 | self(i) | 1004 | 974 | } |
Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 6.76k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 6.76k | self(i) | 1004 | 6.76k | } |
<winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 144k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 144k | self(i) | 1004 | 144k | } |
<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 5.20k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 5.20k | self(i) | 1004 | 5.20k | } |
<winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.51k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.51k | self(i) | 1004 | 1.51k | } |
<winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.51k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.51k | self(i) | 1004 | 1.51k | } |
<winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 13.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 13.4k | self(i) | 1004 | 13.4k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 3.54k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 3.54k | self(i) | 1004 | 3.54k | } |
<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.73k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.73k | self(i) | 1004 | 1.73k | } |
<winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 5.20k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 5.20k | self(i) | 1004 | 5.20k | } |
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <winnow::token::literal<&[u8], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 8.73M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.73M | self(i) | 1004 | 8.73M | } |
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 <winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 6.65M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 6.65M | self(i) | 1004 | 6.65M | } |
<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.78k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.78k | self(i) | 1004 | 1.78k | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.33k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.33k | self(i) | 1004 | 1.33k | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 722 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 722 | self(i) | 1004 | 722 | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 716 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 716 | self(i) | 1004 | 716 | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 5.20k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 5.20k | self(i) | 1004 | 5.20k | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.47k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.47k | self(i) | 1004 | 1.47k | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.45k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.45k | self(i) | 1004 | 1.45k | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.56k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.56k | self(i) | 1004 | 4.56k | } |
<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 5.20k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 5.20k | self(i) | 1004 | 5.20k | } |
<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 851k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 851k | self(i) | 1004 | 851k | } |
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<()>, (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.33k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.33k | self(i) | 1004 | 1.33k | } |
<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 852k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 852k | self(i) | 1004 | 852k | } |
<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 851k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 851k | self(i) | 1004 | 851k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 33.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 33.4k | self(i) | 1004 | 33.4k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.52k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.52k | self(i) | 1004 | 1.52k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.51k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.51k | self(i) | 1004 | 1.51k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 3.55k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 3.55k | self(i) | 1004 | 3.55k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.43k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.43k | self(i) | 1004 | 1.43k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 3.32M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 3.32M | self(i) | 1004 | 3.32M | } |
<winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 8.27k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.27k | self(i) | 1004 | 8.27k | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.13k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.13k | self(i) | 1004 | 1.13k | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 17.1k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 17.1k | self(i) | 1004 | 17.1k | } |
<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.84M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.84M | self(i) | 1004 | 1.84M | } |
<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.62M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.62M | self(i) | 1004 | 1.62M | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::parse_next <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.28k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.28k | self(i) | 1004 | 2.28k | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 6.76k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 6.76k | self(i) | 1004 | 6.76k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.52k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.52k | self(i) | 1004 | 1.52k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.51k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.51k | self(i) | 1004 | 1.51k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 3.55k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 3.55k | self(i) | 1004 | 3.55k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.43k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.43k | self(i) | 1004 | 1.43k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 244 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 244 | self(i) | 1004 | 244 | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 8.27k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 8.27k | self(i) | 1004 | 8.27k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 834 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 834 | self(i) | 1004 | 834 | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 17.1k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 17.1k | self(i) | 1004 | 17.1k | } |
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.23k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.23k | self(i) | 1004 | 2.23k | } |
<gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.96k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.96k | self(i) | 1004 | 1.96k | } |
<gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.52k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.52k | self(i) | 1004 | 1.52k | } |
<gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.47k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.47k | self(i) | 1004 | 1.47k | } |
<gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.78k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.78k | self(i) | 1004 | 1.78k | } |
<gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.00k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.00k | self(i) | 1004 | 2.00k | } |
<gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.82k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.82k | self(i) | 1004 | 1.82k | } |
<gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 882 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 882 | self(i) | 1004 | 882 | } |
<gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 722 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 722 | self(i) | 1004 | 722 | } |
<gix_object::commit::decode::commit<()>::{closure#7} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 812k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 812k | self(i) | 1004 | 812k | } |
<gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.59k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.59k | self(i) | 1004 | 4.59k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.00k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.00k | self(i) | 1004 | 2.00k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.64k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.64k | self(i) | 1004 | 2.64k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 716 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 716 | self(i) | 1004 | 716 | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 851k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 851k | self(i) | 1004 | 851k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#5} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 812k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 812k | self(i) | 1004 | 812k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.56k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.56k | self(i) | 1004 | 4.56k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.96k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.96k | self(i) | 1004 | 1.96k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.51k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.51k | self(i) | 1004 | 1.51k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.45k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.45k | self(i) | 1004 | 1.45k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.77k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.77k | self(i) | 1004 | 1.77k | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 722 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 722 | self(i) | 1004 | 722 | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.70M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.70M | self(i) | 1004 | 1.70M | } |
<<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.82k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.82k | self(i) | 1004 | 1.82k | } |
<<winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.82k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.82k | self(i) | 1004 | 1.82k | } |
<<winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.78k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.78k | self(i) | 1004 | 1.78k | } |
<<winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 722 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 722 | self(i) | 1004 | 722 | } |
<<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 722 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 722 | self(i) | 1004 | 722 | } |
<<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 716 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 716 | self(i) | 1004 | 716 | } |
<<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.47k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.47k | self(i) | 1004 | 1.47k | } |
<<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.45k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.45k | self(i) | 1004 | 1.45k | } |
<<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.56k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.56k | self(i) | 1004 | 4.56k | } |
<<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 851k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 851k | self(i) | 1004 | 851k | } |
<<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 6.76k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 6.76k | self(i) | 1004 | 6.76k | } |
<<winnow::combinator::impls::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 834 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 834 | self(i) | 1004 | 834 | } |
<<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.96k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.96k | self(i) | 1004 | 1.96k | } |
<<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.52k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.52k | self(i) | 1004 | 1.52k | } |
<<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.00k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.00k | self(i) | 1004 | 2.00k | } |
<<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.82k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.82k | self(i) | 1004 | 1.82k | } |
<<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 882 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 882 | self(i) | 1004 | 882 | } |
<<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.00k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.00k | self(i) | 1004 | 2.00k | } |
<<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.64k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.64k | self(i) | 1004 | 2.64k | } |
<<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.96k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.96k | self(i) | 1004 | 1.96k | } |
<<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.51k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.51k | self(i) | 1004 | 1.51k | } |
<<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.77k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.77k | self(i) | 1004 | 1.77k | } |
<<winnow::combinator::impls::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>), &[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.70M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.70M | self(i) | 1004 | 1.70M | } |
<winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.19k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.19k | self(i) | 1004 | 4.19k | } |
Unexecuted instantiation: <gix_ref::parse::newline<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <gix_ref::parse::newline<()> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.47M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.47M | self(i) | 1004 | 1.47M | } |
Unexecuted instantiation: <gix_ref::parse::hex_hash<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <gix_ref::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.09M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.09M | self(i) | 1004 | 4.09M | } |
<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 23.8k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 23.8k | self(i) | 1004 | 23.8k | } |
<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.37k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.37k | self(i) | 1004 | 4.37k | } |
<gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 71.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 71.4k | self(i) | 1004 | 71.4k | } |
<gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 71.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 71.4k | self(i) | 1004 | 71.4k | } |
<gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.42M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.42M | self(i) | 1004 | 1.42M | } |
<gix_ref::store_impl::packed::decode::header<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::decode::Header, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 18 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 18 | self(i) | 1004 | 18 | } |
<gix_ref::store_impl::packed::decode::reference<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::Reference, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.42M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.42M | self(i) | 1004 | 1.42M | } |
<gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 11.7k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 11.7k | self(i) | 1004 | 11.7k | } |
<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 35.9k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 35.9k | self(i) | 1004 | 35.9k | } |
<winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.42M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.42M | self(i) | 1004 | 1.42M | } |
<winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 19.2k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 19.2k | self(i) | 1004 | 19.2k | } |
Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.09M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.09M | self(i) | 1004 | 4.09M | } |
Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::token::rest<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.19k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.19k | self(i) | 1004 | 4.19k | } |
<winnow::token::literal<&[u8; 18], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 18 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 18 | self(i) | 1004 | 18 | } |
Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.49M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.49M | self(i) | 1004 | 4.49M | } |
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.47M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.47M | self(i) | 1004 | 1.47M | } |
Unexecuted instantiation: <winnow::token::literal<&str, &[u8], winnow::error::ErrMode<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::token::literal<u8, &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 67.7k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 67.7k | self(i) | 1004 | 67.7k | } |
<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 23.8k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 23.8k | self(i) | 1004 | 23.8k | } |
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, &str, winnow::token::take_while<u8, &[u8], winnow::error::ErrMode<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::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 35.9k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 35.9k | self(i) | 1004 | 35.9k | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[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>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.42M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.42M | self(i) | 1004 | 1.42M | } |
<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 35.9k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 35.9k | self(i) | 1004 | 35.9k | } |
<winnow::combinator::core::opt<&[u8], u8, winnow::error::ErrMode<()>, u8>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 19.2k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 19.2k | self(i) | 1004 | 19.2k | } |
<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.37k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.37k | self(i) | 1004 | 4.37k | } |
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<()>, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.47M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.47M | self(i) | 1004 | 1.47M | } |
<winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0}, winnow::combinator::impls::Value<u8, &[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Value<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>)>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 24.2k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 24.2k | self(i) | 1004 | 24.2k | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, &str, winnow::token::take_while<u8, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.42M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.42M | self(i) | 1004 | 1.42M | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ErrMode<winnow::error::ContextError>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, winnow::error::ErrMode<()>, winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, winnow::error::ErrMode<()>, u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 19.2k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 19.2k | self(i) | 1004 | 19.2k | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.04M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.04M | self(i) | 1004 | 4.04M | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 71.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 71.4k | self(i) | 1004 | 71.4k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 18 | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 18 | self(i) | 1004 | 18 | } |
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], gix_ref::store_impl::packed::decode::Header, &[u8], winnow::error::ErrMode<()>, gix_ref::store_impl::packed::decode::header<()>, winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 24.2k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 24.2k | self(i) | 1004 | 24.2k | } |
<winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 1.42M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 1.42M | self(i) | 1004 | 1.42M | } |
<<winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 4.37k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 4.37k | self(i) | 1004 | 4.37k | } |
<<winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 71.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 71.4k | self(i) | 1004 | 71.4k | } |
Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next <<winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.61M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.61M | self(i) | 1004 | 2.61M | } |
<<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 71.4k | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 71.4k | self(i) | 1004 | 71.4k | } |
<<winnow::combinator::impls::Context<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1002 | 2.53M | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { | 1003 | 2.53M | self(i) | 1004 | 2.53M | } |
Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<()>, (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::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>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>), &[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::rest<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8], &[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&[u8],)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ErrMode<()>, (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::token::rest<&[u8], winnow::error::ErrMode<()>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>, ((winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}), winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#3}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::ErrMode<()>>>::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>, winnow::error::ErrMode<()>> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (<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::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, core::option::Option<&[u8]>, &str, winnow::error::ErrMode<()>, gix_actor::signature::decode::function::identity<()>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::core::opt<&[u8], (&[u8],), winnow::error::ErrMode<()>, (winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,)>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], core::option::Option<(&[u8],)>, &str, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, &str), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::token::rest<&[u8], winnow::error::ErrMode<()>>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <<winnow::combinator::impls::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>), &[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>, winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next |
1005 | | } |
1006 | | |
1007 | | /// This is a shortcut for [`one_of`][crate::token::one_of]. |
1008 | | /// |
1009 | | /// # Example |
1010 | | /// |
1011 | | /// ```rust |
1012 | | /// # use winnow::prelude::*; |
1013 | | /// # use winnow::{error::ErrMode, error::ContextError}; |
1014 | | /// fn parser<'s>(i: &mut &'s [u8]) -> ModalResult<u8> { |
1015 | | /// b'a'.parse_next(i) |
1016 | | /// } |
1017 | | /// assert_eq!(parser.parse_peek(&b"abc"[..]), Ok((&b"bc"[..], b'a'))); |
1018 | | /// assert!(parser.parse_peek(&b" abc"[..]).is_err()); |
1019 | | /// assert!(parser.parse_peek(&b"bc"[..]).is_err()); |
1020 | | /// assert!(parser.parse_peek(&b""[..]).is_err()); |
1021 | | /// ``` |
1022 | | impl<I, E> Parser<I, u8, E> for u8 |
1023 | | where |
1024 | | I: StreamIsPartial, |
1025 | | I: Stream, |
1026 | | I: Compare<u8>, |
1027 | | E: ParserError<I>, |
1028 | | { |
1029 | | #[inline(always)] |
1030 | 67.7k | fn parse_next(&mut self, i: &mut I) -> Result<u8, E> { |
1031 | 67.7k | crate::token::literal(*self).value(*self).parse_next(i) |
1032 | 67.7k | } Unexecuted instantiation: <u8 as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<()>>>::parse_next <u8 as winnow::parser::Parser<&[u8], u8, winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1030 | 67.7k | fn parse_next(&mut self, i: &mut I) -> Result<u8, E> { | 1031 | 67.7k | crate::token::literal(*self).value(*self).parse_next(i) | 1032 | 67.7k | } |
|
1033 | | } |
1034 | | |
1035 | | /// This is a shortcut for [`one_of`][crate::token::one_of]. |
1036 | | /// |
1037 | | /// # Example |
1038 | | /// |
1039 | | /// ```rust |
1040 | | /// # use winnow::prelude::*; |
1041 | | /// # use winnow::{error::ErrMode, error::ContextError}; |
1042 | | /// fn parser<'s>(i: &mut &'s str) -> ModalResult<char> { |
1043 | | /// 'a'.parse_next(i) |
1044 | | /// } |
1045 | | /// assert_eq!(parser.parse_peek("abc"), Ok(("bc", 'a'))); |
1046 | | /// assert!(parser.parse_peek(" abc").is_err()); |
1047 | | /// assert!(parser.parse_peek("bc").is_err()); |
1048 | | /// assert!(parser.parse_peek("").is_err()); |
1049 | | /// ``` |
1050 | | impl<I, E> Parser<I, char, E> for char |
1051 | | where |
1052 | | I: StreamIsPartial, |
1053 | | I: Stream, |
1054 | | I: Compare<char>, |
1055 | | E: ParserError<I>, |
1056 | | { |
1057 | | #[inline(always)] |
1058 | 36.5M | fn parse_next(&mut self, i: &mut I) -> Result<char, E> { |
1059 | 36.5M | crate::token::literal(*self).value(*self).parse_next(i) |
1060 | 36.5M | } |
1061 | | } |
1062 | | |
1063 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
1064 | | /// |
1065 | | /// # Example |
1066 | | /// ```rust |
1067 | | /// # use winnow::prelude::*; |
1068 | | /// # use winnow::{error::ErrMode, error::ContextError, error::Needed}; |
1069 | | /// # use winnow::combinator::alt; |
1070 | | /// # use winnow::token::take; |
1071 | | /// |
1072 | | /// fn parser<'s>(s: &mut &'s [u8]) -> ModalResult<&'s [u8]> { |
1073 | | /// alt((&"Hello"[..], take(5usize))).parse_next(s) |
1074 | | /// } |
1075 | | /// |
1076 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
1077 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
1078 | | /// assert!(parser.parse_peek(&b"Some"[..]).is_err()); |
1079 | | /// assert!(parser.parse_peek(&b""[..]).is_err()); |
1080 | | /// ``` |
1081 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for &'s [u8] |
1082 | | where |
1083 | | I: Compare<&'s [u8]> + StreamIsPartial, |
1084 | | I: Stream, |
1085 | | { |
1086 | | #[inline(always)] |
1087 | 8.73M | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { |
1088 | 8.73M | crate::token::literal(*self).parse_next(i) |
1089 | 8.73M | } Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1087 | 8.73M | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { | 1088 | 8.73M | crate::token::literal(*self).parse_next(i) | 1089 | 8.73M | } |
Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next |
1090 | | } |
1091 | | |
1092 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
1093 | | /// |
1094 | | /// # Example |
1095 | | /// ```rust |
1096 | | /// # use winnow::prelude::*; |
1097 | | /// # use winnow::{error::ErrMode, error::ContextError, error::Needed}; |
1098 | | /// # use winnow::combinator::alt; |
1099 | | /// # use winnow::token::take; |
1100 | | /// use winnow::ascii::Caseless; |
1101 | | /// |
1102 | | /// fn parser<'s>(s: &mut &'s [u8]) -> ModalResult<&'s [u8]> { |
1103 | | /// alt((Caseless(&"hello"[..]), take(5usize))).parse_next(s) |
1104 | | /// } |
1105 | | /// |
1106 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
1107 | | /// assert_eq!(parser.parse_peek(&b"hello, World!"[..]), Ok((&b", World!"[..], &b"hello"[..]))); |
1108 | | /// assert_eq!(parser.parse_peek(&b"HeLlo, World!"[..]), Ok((&b", World!"[..], &b"HeLlo"[..]))); |
1109 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
1110 | | /// assert!(parser.parse_peek(&b"Some"[..]).is_err()); |
1111 | | /// assert!(parser.parse_peek(&b""[..]).is_err()); |
1112 | | /// ``` |
1113 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for AsciiCaseless<&'s [u8]> |
1114 | | where |
1115 | | I: Compare<AsciiCaseless<&'s [u8]>> + StreamIsPartial, |
1116 | | I: Stream, |
1117 | | { |
1118 | | #[inline(always)] |
1119 | | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { |
1120 | | crate::token::literal(*self).parse_next(i) |
1121 | | } |
1122 | | } |
1123 | | |
1124 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
1125 | | /// |
1126 | | /// # Example |
1127 | | /// ```rust |
1128 | | /// # use winnow::prelude::*; |
1129 | | /// # use winnow::{error::ErrMode, error::ContextError, error::Needed}; |
1130 | | /// # use winnow::combinator::alt; |
1131 | | /// # use winnow::token::take; |
1132 | | /// |
1133 | | /// fn parser<'s>(s: &mut &'s [u8]) -> ModalResult<&'s [u8]> { |
1134 | | /// alt((b"Hello", take(5usize))).parse_next(s) |
1135 | | /// } |
1136 | | /// |
1137 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
1138 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
1139 | | /// assert!(parser.parse_peek(&b"Some"[..]).is_err()); |
1140 | | /// assert!(parser.parse_peek(&b""[..]).is_err()); |
1141 | | /// ``` |
1142 | | impl<'s, I, E: ParserError<I>, const N: usize> Parser<I, <I as Stream>::Slice, E> for &'s [u8; N] |
1143 | | where |
1144 | | I: Compare<&'s [u8; N]> + StreamIsPartial, |
1145 | | I: Stream, |
1146 | | { |
1147 | | #[inline(always)] |
1148 | 5.97M | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { |
1149 | 5.97M | crate::token::literal(*self).parse_next(i) |
1150 | 5.97M | } Unexecuted instantiation: <&[u8; 18] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1148 | 5.20k | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { | 1149 | 5.20k | crate::token::literal(*self).parse_next(i) | 1150 | 5.20k | } |
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next <&[u8; 18] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1148 | 18 | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { | 1149 | 18 | crate::token::literal(*self).parse_next(i) | 1150 | 18 | } |
Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1148 | 4.49M | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { | 1149 | 4.49M | crate::token::literal(*self).parse_next(i) | 1150 | 4.49M | } |
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1148 | 1.47M | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { | 1149 | 1.47M | crate::token::literal(*self).parse_next(i) | 1150 | 1.47M | } |
Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<()>>>::parse_next |
1151 | | } |
1152 | | |
1153 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
1154 | | /// |
1155 | | /// # Example |
1156 | | /// ```rust |
1157 | | /// # use winnow::prelude::*; |
1158 | | /// # use winnow::{error::ErrMode, error::ContextError, error::Needed}; |
1159 | | /// # use winnow::combinator::alt; |
1160 | | /// # use winnow::token::take; |
1161 | | /// use winnow::ascii::Caseless; |
1162 | | /// |
1163 | | /// fn parser<'s>(s: &mut &'s [u8]) -> ModalResult<&'s [u8]> { |
1164 | | /// alt((Caseless(b"hello"), take(5usize))).parse_next(s) |
1165 | | /// } |
1166 | | /// |
1167 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
1168 | | /// assert_eq!(parser.parse_peek(&b"hello, World!"[..]), Ok((&b", World!"[..], &b"hello"[..]))); |
1169 | | /// assert_eq!(parser.parse_peek(&b"HeLlo, World!"[..]), Ok((&b", World!"[..], &b"HeLlo"[..]))); |
1170 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
1171 | | /// assert!(parser.parse_peek(&b"Some"[..]).is_err()); |
1172 | | /// assert!(parser.parse_peek(&b""[..]).is_err()); |
1173 | | /// ``` |
1174 | | impl<'s, I, E: ParserError<I>, const N: usize> Parser<I, <I as Stream>::Slice, E> |
1175 | | for AsciiCaseless<&'s [u8; N]> |
1176 | | where |
1177 | | I: Compare<AsciiCaseless<&'s [u8; N]>> + StreamIsPartial, |
1178 | | I: Stream, |
1179 | | { |
1180 | | #[inline(always)] |
1181 | | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { |
1182 | | crate::token::literal(*self).parse_next(i) |
1183 | | } |
1184 | | } |
1185 | | |
1186 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
1187 | | /// |
1188 | | /// # Example |
1189 | | /// ```rust |
1190 | | /// # use winnow::prelude::*; |
1191 | | /// # use winnow::{error::ErrMode, error::ContextError}; |
1192 | | /// # use winnow::combinator::alt; |
1193 | | /// # use winnow::token::take; |
1194 | | /// |
1195 | | /// fn parser<'s>(s: &mut &'s str) -> ModalResult<&'s str> { |
1196 | | /// alt(("Hello", take(5usize))).parse_next(s) |
1197 | | /// } |
1198 | | /// |
1199 | | /// assert_eq!(parser.parse_peek("Hello, World!"), Ok((", World!", "Hello"))); |
1200 | | /// assert_eq!(parser.parse_peek("Something"), Ok(("hing", "Somet"))); |
1201 | | /// assert!(parser.parse_peek("Some").is_err()); |
1202 | | /// assert!(parser.parse_peek("").is_err()); |
1203 | | /// ``` |
1204 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for &'s str |
1205 | | where |
1206 | | I: Compare<&'s str> + StreamIsPartial, |
1207 | | I: Stream, |
1208 | | { |
1209 | | #[inline(always)] |
1210 | 208M | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { |
1211 | 208M | crate::token::literal(*self).parse_next(i) |
1212 | 208M | } <&str as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1210 | 208M | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { | 1211 | 208M | crate::token::literal(*self).parse_next(i) | 1212 | 208M | } |
Unexecuted instantiation: <&str as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next Unexecuted instantiation: <&str as winnow::parser::Parser<&[u8], &[u8], winnow::error::ErrMode<winnow::error::ContextError>>>::parse_next |
1213 | | } |
1214 | | |
1215 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
1216 | | /// |
1217 | | /// # Example |
1218 | | /// ```rust |
1219 | | /// # use winnow::prelude::*; |
1220 | | /// # use winnow::{error::ErrMode, error::ContextError}; |
1221 | | /// # use winnow::combinator::alt; |
1222 | | /// # use winnow::token::take; |
1223 | | /// # use winnow::ascii::Caseless; |
1224 | | /// |
1225 | | /// fn parser<'s>(s: &mut &'s str) -> ModalResult<&'s str> { |
1226 | | /// alt((Caseless("hello"), take(5usize))).parse_next(s) |
1227 | | /// } |
1228 | | /// |
1229 | | /// assert_eq!(parser.parse_peek("Hello, World!"), Ok((", World!", "Hello"))); |
1230 | | /// assert_eq!(parser.parse_peek("hello, World!"), Ok((", World!", "hello"))); |
1231 | | /// assert_eq!(parser.parse_peek("HeLlo, World!"), Ok((", World!", "HeLlo"))); |
1232 | | /// assert_eq!(parser.parse_peek("Something"), Ok(("hing", "Somet"))); |
1233 | | /// assert!(parser.parse_peek("Some").is_err()); |
1234 | | /// assert!(parser.parse_peek("").is_err()); |
1235 | | /// ``` |
1236 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for AsciiCaseless<&'s str> |
1237 | | where |
1238 | | I: Compare<AsciiCaseless<&'s str>> + StreamIsPartial, |
1239 | | I: Stream, |
1240 | | { |
1241 | | #[inline(always)] |
1242 | | fn parse_next(&mut self, i: &mut I) -> Result<<I as Stream>::Slice, E> { |
1243 | | crate::token::literal(*self).parse_next(i) |
1244 | | } |
1245 | | } |
1246 | | |
1247 | | impl<I: Stream, E: ParserError<I>> Parser<I, (), E> for () { |
1248 | | #[inline(always)] |
1249 | | fn parse_next(&mut self, _i: &mut I) -> Result<(), E> { |
1250 | | Ok(()) |
1251 | | } |
1252 | | } |
1253 | | |
1254 | | macro_rules! impl_parser_for_tuple { |
1255 | | ($($index:tt $parser:ident $output:ident),+) => ( |
1256 | | #[allow(non_snake_case)] |
1257 | | impl<I: Stream, $($output),+, E: ParserError<I>, $($parser),+> Parser<I, ($($output),+,), E> for ($($parser),+,) |
1258 | | where |
1259 | | $($parser: Parser<I, $output, E>),+ |
1260 | | { |
1261 | | #[inline(always)] |
1262 | 140M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { |
1263 | 47.5M | $(let $output = self.$index.parse_next(i)?;)+ |
1264 | | |
1265 | 44.2M | Ok(($($output),+,)) |
1266 | 140M | } <(winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], [char; 2], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::combinator::impls::Map<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>) as winnow::parser::Parser<&[u8], (u8, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1262 | 75.7M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 23.7M | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 23.7M | Ok(($($output),+,)) | 1266 | 75.7M | } |
<(winnow::combinator::impls::Verify<winnow::token::any<&[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>::{closure#0}, &[u8], u8, u8, winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (u8, &[u8]), winnow::error::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1262 | 50.3M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 16.2M | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 16.2M | Ok(($($output),+,)) | 1266 | 50.3M | } |
<(gix_config::parse::nom::take_spaces1, winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::ErrMode<winnow::error::InputError<&[u8]>>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::ErrMode<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::ErrMode<winnow::error::InputError<&[u8]>>>>::parse_next Line | Count | Source | 1262 | 700k | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 700k | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 699k | Ok(($($output),+,)) | 1266 | 700k | } |
Unexecuted instantiation: <(winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,) as winnow::parser::Parser<&[u8], (&[u8],), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0}, winnow::combinator::impls::Value<u8, &[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Value<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::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, winnow::error::ErrMode<()>, gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[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>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,) as winnow::parser::Parser<&[u8], (&[u8],), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::parse_next <(winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,) as winnow::parser::Parser<&[u8], (&[u8],), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 5.20k | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 5.20k | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 5.20k | Ok(($($output),+,)) | 1266 | 5.20k | } |
Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next <(winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 1.33k | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 244 | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 84 | Ok(($($output),+,)) | 1266 | 1.33k | } |
<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 1.62M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 1.62M | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 1.62M | Ok(($($output),+,)) | 1266 | 1.62M | } |
<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 1.70M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 1.70M | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 78.0k | Ok(($($output),+,)) | 1266 | 1.70M | } |
<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 1.84M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 142k | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 142k | Ok(($($output),+,)) | 1266 | 1.84M | } |
<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 1.70M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 1.70M | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 78.0k | Ok(($($output),+,)) | 1266 | 1.70M | } |
<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 244 | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 84 | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 84 | Ok(($($output),+,)) | 1266 | 244 | } |
<(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 1.96k | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 1.15k | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 708 | Ok(($($output),+,)) | 1266 | 1.96k | } |
<(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 2.00k | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 722 | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 200 | Ok(($($output),+,)) | 1266 | 2.00k | } |
<(winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,) as winnow::parser::Parser<&[u8], (&[u8],), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 35.9k | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 35.9k | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 35.9k | Ok(($($output),+,)) | 1266 | 35.9k | } |
<(winnow::combinator::impls::Context<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>, u8, winnow::combinator::impls::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>>::{closure#0}, winnow::combinator::impls::Value<u8, &[u8], u8, &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Value<winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, winnow::combinator::impls::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>>, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 2.51M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 24.2k | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 19.8k | Ok(($($output),+,)) | 1266 | 2.51M | } |
<(winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 2.53M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 71.4k | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 35.9k | Ok(($($output),+,)) | 1266 | 2.53M | } |
<(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::impls::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, winnow::error::ErrMode<()>, gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, &[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>), winnow::error::ErrMode<()>>>::parse_next Line | Count | Source | 1262 | 1.42M | fn parse_next(&mut self, i: &mut I) -> Result<($($output),+,), E> { | 1263 | 1.42M | $(let $output = self.$index.parse_next(i)?;)+ | 1264 | | | 1265 | 1.42M | Ok(($($output),+,)) | 1266 | 1.42M | } |
Unexecuted instantiation: <(winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,) as winnow::parser::Parser<&[u8], (&[u8],), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Map<winnow::token::take_while<gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], &[u8], winnow::error::ErrMode<()>>,) as winnow::parser::Parser<&[u8], (&[u8],), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, &[u8], winnow::combinator::impls::Map<winnow::combinator::impls::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>, gix_object::tag::decode::message<()>::{closure#2}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ErrMode<()>, winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::impls::Map<winnow::combinator::impls::Take<(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>), &[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], winnow::error::ErrMode<()>, (&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), winnow::error::ErrMode<()>>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], winnow::error::ErrMode<()>, core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::token::rest<&[u8], winnow::error::ErrMode<()>>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, winnow::error::ErrMode<()>>, &[u8], gix_object::Kind, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], winnow::error::ErrMode<()>, gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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>)), winnow::error::ErrMode<()>>>::parse_next Unexecuted instantiation: <(winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::impls::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::impls::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::ErrMode<()>, (winnow::combinator::impls::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>), winnow::error::ErrMode<()>>, 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>)>, winnow::error::ErrMode<()>>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, winnow::error::ErrMode<()>, winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], winnow::error::ErrMode<()>, gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], winnow::error::ErrMode<()>>>::{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), winnow::error::ErrMode<()>>>::parse_next |
1267 | | } |
1268 | | ) |
1269 | | } |
1270 | | |
1271 | | macro_rules! impl_parser_for_tuples { |
1272 | | ($index1:tt $parser1:ident $output1:ident, $($index:tt $parser:ident $output:ident),+) => { |
1273 | | impl_parser_for_tuples!(__impl $index1 $parser1 $output1; $($index $parser $output),+); |
1274 | | }; |
1275 | | (__impl $($index:tt $parser:ident $output:ident),+; $index1:tt $parser1:ident $output1:ident $(,$index2:tt $parser2:ident $output2:ident)*) => { |
1276 | | impl_parser_for_tuple!($($index $parser $output),+); |
1277 | | impl_parser_for_tuples!(__impl $($index $parser $output),+, $index1 $parser1 $output1; $($index2 $parser2 $output2),*); |
1278 | | }; |
1279 | | (__impl $($index:tt $parser:ident $output:ident),+;) => { |
1280 | | impl_parser_for_tuple!($($index $parser $output),+); |
1281 | | } |
1282 | | } |
1283 | | |
1284 | | impl_parser_for_tuples!( |
1285 | | 0 P0 O0, |
1286 | | 1 P1 O1, |
1287 | | 2 P2 O2, |
1288 | | 3 P3 O3, |
1289 | | 4 P4 O4, |
1290 | | 5 P5 O5, |
1291 | | 6 P6 O6, |
1292 | | 7 P7 O7, |
1293 | | 8 P8 O8, |
1294 | | 9 P9 O9, |
1295 | | 10 P10 O10, |
1296 | | 11 P11 O11, |
1297 | | 12 P12 O12, |
1298 | | 13 P13 O13, |
1299 | | 14 P14 O14, |
1300 | | 15 P15 O15, |
1301 | | 16 P16 O16, |
1302 | | 17 P17 O17, |
1303 | | 18 P18 O18, |
1304 | | 19 P19 O19, |
1305 | | 20 P20 O20, |
1306 | | 21 P21 O21 |
1307 | | ); |
1308 | | |
1309 | | #[cfg(feature = "alloc")] |
1310 | | use crate::lib::std::boxed::Box; |
1311 | | |
1312 | | #[cfg(feature = "alloc")] |
1313 | | impl<I, O, E> Parser<I, O, E> for Box<dyn Parser<I, O, E> + '_> { |
1314 | | #[inline(always)] |
1315 | | fn parse_next(&mut self, i: &mut I) -> Result<O, E> { |
1316 | | (**self).parse_next(i) |
1317 | | } |
1318 | | } |
1319 | | |
1320 | | /// Trait alias for [`Parser`] to be used with [`ModalResult`][crate::error::ModalResult] |
1321 | | pub trait ModalParser<I, O, E>: Parser<I, O, crate::error::ErrMode<E>> {} |
1322 | | |
1323 | | impl<I, O, E, P> ModalParser<I, O, E> for P where P: Parser<I, O, crate::error::ErrMode<E>> {} |
1324 | | |
1325 | | /// Collect all errors when parsing the input |
1326 | | /// |
1327 | | /// [`Parser`]s will need to use [`Recoverable<I, _>`] for their input. |
1328 | | #[cfg(feature = "unstable-recover")] |
1329 | | #[cfg(feature = "std")] |
1330 | | pub trait RecoverableParser<I, O, R, E> { |
1331 | | /// Collect all errors when parsing the input |
1332 | | /// |
1333 | | /// If `self` fails, this acts like [`Parser::resume_after`] and returns `Ok(None)`. |
1334 | | /// Generally, this should be avoided by using |
1335 | | /// [`Parser::retry_after`] and [`Parser::resume_after`] throughout your parser. |
1336 | | /// |
1337 | | /// The empty `input` is returned to allow turning the errors into [`ParserError`]s. |
1338 | | fn recoverable_parse(&mut self, input: I) -> (I, Option<O>, Vec<R>); |
1339 | | } |
1340 | | |
1341 | | #[cfg(feature = "unstable-recover")] |
1342 | | #[cfg(feature = "std")] |
1343 | | impl<P, I, O, R, E> RecoverableParser<I, O, R, E> for P |
1344 | | where |
1345 | | P: Parser<Recoverable<I, R>, O, E>, |
1346 | | I: Stream, |
1347 | | I: StreamIsPartial, |
1348 | | R: FromRecoverableError<Recoverable<I, R>, E>, |
1349 | | R: crate::lib::std::fmt::Debug, |
1350 | | E: FromRecoverableError<Recoverable<I, R>, E>, |
1351 | | E: ParserError<Recoverable<I, R>>, |
1352 | | E: crate::lib::std::fmt::Debug, |
1353 | | { |
1354 | | fn recoverable_parse(&mut self, input: I) -> (I, Option<O>, Vec<R>) { |
1355 | | debug_assert!( |
1356 | | !I::is_partial_supported(), |
1357 | | "partial streams need to handle `ErrMode::Incomplete`" |
1358 | | ); |
1359 | | |
1360 | | let start = input.checkpoint(); |
1361 | | let mut input = Recoverable::new(input); |
1362 | | let start_token = input.checkpoint(); |
1363 | | let result = ( |
1364 | | self.by_ref(), |
1365 | | crate::combinator::eof.resume_after(crate::token::rest.void()), |
1366 | | ) |
1367 | | .parse_next(&mut input); |
1368 | | |
1369 | | let (o, err) = match result { |
1370 | | Ok((o, _)) => (Some(o), None), |
1371 | | Err(err) => { |
1372 | | let err_start = input.checkpoint(); |
1373 | | let err = R::from_recoverable_error(&start_token, &err_start, &input, err); |
1374 | | (None, Some(err)) |
1375 | | } |
1376 | | }; |
1377 | | |
1378 | | let (mut input, mut errs) = input.into_parts(); |
1379 | | input.reset(&start); |
1380 | | if let Some(err) = err { |
1381 | | errs.push(err); |
1382 | | } |
1383 | | |
1384 | | (input, o, errs) |
1385 | | } |
1386 | | } |
1387 | | |
1388 | | #[cfg(test)] |
1389 | | mod tests { |
1390 | | use super::*; |
1391 | | |
1392 | | use snapbox::prelude::*; |
1393 | | use snapbox::str; |
1394 | | |
1395 | | use crate::binary::be_u16; |
1396 | | use crate::error::ErrMode; |
1397 | | use crate::error::Needed; |
1398 | | use crate::error::TestResult; |
1399 | | use crate::token::take; |
1400 | | use crate::Partial; |
1401 | | |
1402 | | #[doc(hidden)] |
1403 | | #[macro_export] |
1404 | | macro_rules! assert_size ( |
1405 | | ($t:ty, $sz:expr) => ( |
1406 | | assert!($crate::lib::std::mem::size_of::<$t>() <= $sz, "{} <= {} failed", $crate::lib::std::mem::size_of::<$t>(), $sz); |
1407 | | ); |
1408 | | ); |
1409 | | |
1410 | | #[test] |
1411 | | #[cfg(target_pointer_width = "64")] |
1412 | | fn size_test() { |
1413 | | assert_size!(Result<&[u8], (&[u8], u32)>, 40); |
1414 | | assert_size!(Result<&str, u32>, 40); |
1415 | | assert_size!(Needed, 8); |
1416 | | assert_size!(ErrMode<u32>, 16); |
1417 | | } |
1418 | | |
1419 | | #[test] |
1420 | | fn err_map_test() { |
1421 | | let e = ErrMode::Backtrack(1); |
1422 | | assert_eq!(e.map(|v| v + 1), ErrMode::Backtrack(2)); |
1423 | | } |
1424 | | |
1425 | | #[test] |
1426 | | fn single_element_tuples() { |
1427 | | use crate::ascii::alpha1; |
1428 | | |
1429 | | let mut parser = (alpha1,); |
1430 | | assert_parse!( |
1431 | | parser.parse_peek("abc123def"), |
1432 | | str![[r#" |
1433 | | Ok( |
1434 | | ( |
1435 | | "123def", |
1436 | | ( |
1437 | | "abc", |
1438 | | ), |
1439 | | ), |
1440 | | ) |
1441 | | |
1442 | | "#]] |
1443 | | .raw() |
1444 | | ); |
1445 | | assert_parse!( |
1446 | | parser.parse_peek("123def"), |
1447 | | str![[r#" |
1448 | | Err( |
1449 | | Backtrack( |
1450 | | InputError { |
1451 | | input: "123def", |
1452 | | }, |
1453 | | ), |
1454 | | ) |
1455 | | |
1456 | | "#]] |
1457 | | .raw() |
1458 | | ); |
1459 | | } |
1460 | | |
1461 | | #[test] |
1462 | | fn tuple_test() { |
1463 | | #[allow(clippy::type_complexity)] |
1464 | | fn tuple_3<'i>( |
1465 | | i: &mut Partial<&'i [u8]>, |
1466 | | ) -> TestResult<Partial<&'i [u8]>, (u16, &'i [u8], &'i [u8])> { |
1467 | | (be_u16, take(3u8), "fg").parse_next(i) |
1468 | | } |
1469 | | |
1470 | | assert_parse!( |
1471 | | tuple_3.parse_peek(Partial::new(&b"abcdefgh"[..])), |
1472 | | str![[r#" |
1473 | | Ok( |
1474 | | ( |
1475 | | Partial { |
1476 | | input: [ |
1477 | | 104, |
1478 | | ], |
1479 | | partial: true, |
1480 | | }, |
1481 | | ( |
1482 | | 24930, |
1483 | | [ |
1484 | | 99, |
1485 | | 100, |
1486 | | 101, |
1487 | | ], |
1488 | | [ |
1489 | | 102, |
1490 | | 103, |
1491 | | ], |
1492 | | ), |
1493 | | ), |
1494 | | ) |
1495 | | |
1496 | | "#]] |
1497 | | .raw() |
1498 | | ); |
1499 | | assert_parse!( |
1500 | | tuple_3.parse_peek(Partial::new(&b"abcd"[..])), |
1501 | | str![[r#" |
1502 | | Err( |
1503 | | Incomplete( |
1504 | | Size( |
1505 | | 1, |
1506 | | ), |
1507 | | ), |
1508 | | ) |
1509 | | |
1510 | | "#]] |
1511 | | .raw() |
1512 | | ); |
1513 | | assert_parse!( |
1514 | | tuple_3.parse_peek(Partial::new(&b"abcde"[..])), |
1515 | | str![[r#" |
1516 | | Err( |
1517 | | Incomplete( |
1518 | | Unknown, |
1519 | | ), |
1520 | | ) |
1521 | | |
1522 | | "#]] |
1523 | | .raw() |
1524 | | ); |
1525 | | assert_parse!( |
1526 | | tuple_3.parse_peek(Partial::new(&b"abcdejk"[..])), |
1527 | | str![[r#" |
1528 | | Err( |
1529 | | Backtrack( |
1530 | | InputError { |
1531 | | input: Partial { |
1532 | | input: [ |
1533 | | 106, |
1534 | | 107, |
1535 | | ], |
1536 | | partial: true, |
1537 | | }, |
1538 | | }, |
1539 | | ), |
1540 | | ) |
1541 | | |
1542 | | "#]] |
1543 | | .raw() |
1544 | | ); |
1545 | | } |
1546 | | |
1547 | | #[test] |
1548 | | fn unit_type() { |
1549 | | fn parser<'i>(i: &mut &'i str) -> TestResult<&'i str, ()> { |
1550 | | ().parse_next(i) |
1551 | | } |
1552 | | assert_parse!( |
1553 | | parser.parse_peek("abxsbsh"), |
1554 | | str![[r#" |
1555 | | Ok( |
1556 | | ( |
1557 | | "abxsbsh", |
1558 | | (), |
1559 | | ), |
1560 | | ) |
1561 | | |
1562 | | "#]] |
1563 | | .raw() |
1564 | | ); |
1565 | | assert_parse!( |
1566 | | parser.parse_peek("sdfjakdsas"), |
1567 | | str![[r#" |
1568 | | Ok( |
1569 | | ( |
1570 | | "sdfjakdsas", |
1571 | | (), |
1572 | | ), |
1573 | | ) |
1574 | | |
1575 | | "#]] |
1576 | | .raw() |
1577 | | ); |
1578 | | assert_parse!( |
1579 | | parser.parse_peek(""), |
1580 | | str![[r#" |
1581 | | Ok( |
1582 | | ( |
1583 | | "", |
1584 | | (), |
1585 | | ), |
1586 | | ) |
1587 | | |
1588 | | "#]] |
1589 | | .raw() |
1590 | | ); |
1591 | | } |
1592 | | } |