/rust/registry/src/index.crates.io-6f17d22bba15001f/winnow-0.6.18/src/parser.rs
Line | Count | Source (jump to first uncovered line) |
1 | | //! Basic types to build the parsers |
2 | | |
3 | | use crate::ascii::Caseless as AsciiCaseless; |
4 | | use crate::combinator::*; |
5 | | #[cfg(feature = "unstable-recover")] |
6 | | #[cfg(feature = "std")] |
7 | | use crate::error::FromRecoverableError; |
8 | | use crate::error::{AddContext, FromExternalError, IResult, PResult, ParseError, ParserError}; |
9 | | use crate::stream::{Compare, Location, ParseSlice, Stream, StreamIsPartial}; |
10 | | #[cfg(feature = "unstable-recover")] |
11 | | #[cfg(feature = "std")] |
12 | | use crate::stream::{Recover, Recoverable}; |
13 | | |
14 | | /// Core trait for parsing |
15 | | /// |
16 | | /// The simplest way to implement a `Parser` is with a function |
17 | | /// ```rust |
18 | | /// use winnow::prelude::*; |
19 | | /// |
20 | | /// fn empty(input: &mut &str) -> PResult<()> { |
21 | | /// let output = (); |
22 | | /// Ok(output) |
23 | | /// } |
24 | | /// |
25 | | /// let (input, output) = empty.parse_peek("Hello").unwrap(); |
26 | | /// assert_eq!(input, "Hello"); // We didn't consume any input |
27 | | /// ``` |
28 | | /// |
29 | | /// which can be made stateful by returning a function |
30 | | /// ```rust |
31 | | /// use winnow::prelude::*; |
32 | | /// |
33 | | /// fn empty<O: Clone>(output: O) -> impl FnMut(&mut &str) -> PResult<O> { |
34 | | /// move |input: &mut &str| { |
35 | | /// let output = output.clone(); |
36 | | /// Ok(output) |
37 | | /// } |
38 | | /// } |
39 | | /// |
40 | | /// let (input, output) = empty("World").parse_peek("Hello").unwrap(); |
41 | | /// assert_eq!(input, "Hello"); // We didn't consume any input |
42 | | /// assert_eq!(output, "World"); |
43 | | /// ``` |
44 | | /// |
45 | | /// Additionally, some basic types implement `Parser` as well, including |
46 | | /// - `u8` and `char`, see [`winnow::token::one_of`][crate::token::one_of] |
47 | | /// - `&[u8]` and `&str`, see [`winnow::token::literal`][crate::token::literal] |
48 | | pub trait Parser<I, O, E> { |
49 | | /// Parse all of `input`, generating `O` from it |
50 | | #[inline] |
51 | 0 | fn parse(&mut self, mut input: I) -> Result<O, ParseError<I, E>> |
52 | 0 | where |
53 | 0 | Self: core::marker::Sized, |
54 | 0 | I: Stream, |
55 | 0 | // Force users to deal with `Incomplete` when `StreamIsPartial<true>` |
56 | 0 | I: StreamIsPartial, |
57 | 0 | E: ParserError<I>, |
58 | 0 | { |
59 | 0 | debug_assert!( |
60 | 0 | !I::is_partial_supported(), |
61 | 0 | "partial streams need to handle `ErrMode::Incomplete`" |
62 | | ); |
63 | | |
64 | 0 | let start = input.checkpoint(); |
65 | 0 | let (o, _) = (self.by_ref(), crate::combinator::eof) |
66 | 0 | .parse_next(&mut input) |
67 | 0 | .map_err(|e| { |
68 | 0 | let e = e |
69 | 0 | .into_inner() |
70 | 0 | .expect("complete parsers should not report `ErrMode::Incomplete(_)`"); |
71 | 0 | ParseError::new(input, start, e) |
72 | 0 | })?; Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse::{closure#0} Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse::{closure#0} |
73 | 0 | Ok(o) |
74 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse |
75 | | |
76 | | /// Take tokens from the [`Stream`], turning it into the output |
77 | | /// |
78 | | /// This includes advancing the [`Stream`] to the next location. |
79 | | /// |
80 | | /// On error, `input` will be left pointing at the error location. |
81 | | fn parse_next(&mut self, input: &mut I) -> PResult<O, E>; |
82 | | |
83 | | /// Take tokens from the [`Stream`], turning it into the output |
84 | | /// |
85 | | /// This includes advancing the [`Stream`] to the next location. |
86 | | #[inline(always)] |
87 | 0 | fn parse_peek(&mut self, mut input: I) -> IResult<I, O, E> { |
88 | 0 | match self.parse_next(&mut input) { |
89 | 0 | Ok(o) => Ok((input, o)), |
90 | 0 | Err(err) => Err(err), |
91 | | } |
92 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_peek Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_peek |
93 | | |
94 | | /// Treat `&mut Self` as a parser |
95 | | /// |
96 | | /// This helps when needing to move a `Parser` when all you have is a `&mut Parser`. |
97 | | /// |
98 | | /// # Example |
99 | | /// |
100 | | /// Because parsers are `FnMut`, they can be called multiple times. This prevents moving `f` |
101 | | /// into [`length_take`][crate::binary::length_take] and `g` into |
102 | | /// [`Parser::complete_err`]: |
103 | | /// ```rust,compile_fail |
104 | | /// # use winnow::prelude::*; |
105 | | /// # use winnow::Parser; |
106 | | /// # use winnow::error::ParserError; |
107 | | /// # use winnow::binary::length_take; |
108 | | /// pub fn length_value<'i, O, E: ParserError<&'i [u8]>>( |
109 | | /// mut f: impl Parser<&'i [u8], usize, E>, |
110 | | /// mut g: impl Parser<&'i [u8], O, E> |
111 | | /// ) -> impl Parser<&'i [u8], O, E> { |
112 | | /// move |i: &mut &'i [u8]| { |
113 | | /// let mut data = length_take(f).parse_next(i)?; |
114 | | /// let o = g.complete_err().parse_next(&mut data)?; |
115 | | /// Ok(o) |
116 | | /// } |
117 | | /// } |
118 | | /// ``` |
119 | | /// |
120 | | /// By adding `by_ref`, we can make this work: |
121 | | /// ```rust |
122 | | /// # use winnow::prelude::*; |
123 | | /// # use winnow::Parser; |
124 | | /// # use winnow::error::ParserError; |
125 | | /// # use winnow::binary::length_take; |
126 | | /// pub fn length_value<'i, O, E: ParserError<&'i [u8]>>( |
127 | | /// mut f: impl Parser<&'i [u8], usize, E>, |
128 | | /// mut g: impl Parser<&'i [u8], O, E> |
129 | | /// ) -> impl Parser<&'i [u8], O, E> { |
130 | | /// move |i: &mut &'i [u8]| { |
131 | | /// let mut data = length_take(f.by_ref()).parse_next(i)?; |
132 | | /// let o = g.by_ref().complete_err().parse_next(&mut data)?; |
133 | | /// Ok(o) |
134 | | /// } |
135 | | /// } |
136 | | /// ``` |
137 | | #[inline(always)] |
138 | 0 | fn by_ref(&mut self) -> ByRef<'_, Self> |
139 | 0 | where |
140 | 0 | Self: core::marker::Sized, |
141 | 0 | { |
142 | 0 | ByRef::new(self) |
143 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::by_ref Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::by_ref |
144 | | |
145 | | /// Produce the provided value |
146 | | /// |
147 | | /// # Example |
148 | | /// |
149 | | /// ```rust |
150 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
151 | | /// use winnow::ascii::alpha1; |
152 | | /// # fn main() { |
153 | | /// |
154 | | /// let mut parser = alpha1.value(1234); |
155 | | /// |
156 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", 1234))); |
157 | | /// assert_eq!(parser.parse_peek("123abcd;"), Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice)))); |
158 | | /// # } |
159 | | /// ``` |
160 | | #[doc(alias = "to")] |
161 | | #[inline(always)] |
162 | 28.3M | fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E> |
163 | 28.3M | where |
164 | 28.3M | Self: core::marker::Sized, |
165 | 28.3M | O2: Clone, |
166 | 28.3M | { |
167 | 28.3M | Value::new(self, val) |
168 | 28.3M | } <winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<u8> Line | Count | Source | 162 | 29.3k | fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E> | 163 | 29.3k | where | 164 | 29.3k | Self: core::marker::Sized, | 165 | 29.3k | O2: Clone, | 166 | 29.3k | { | 167 | 29.3k | Value::new(self, val) | 168 | 29.3k | } |
<winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<&bstr::bstr::BStr> Line | Count | Source | 162 | 463k | fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E> | 163 | 463k | where | 164 | 463k | Self: core::marker::Sized, | 165 | 463k | O2: Clone, | 166 | 463k | { | 167 | 463k | Value::new(self, val) | 168 | 463k | } |
<u8 as winnow::parser::Parser<&[u8], u8, ()>>::value::<&bstr::bstr::BStr> Line | Count | Source | 162 | 463k | fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E> | 163 | 463k | where | 164 | 463k | Self: core::marker::Sized, | 165 | 463k | O2: Clone, | 166 | 463k | { | 167 | 463k | Value::new(self, val) | 168 | 463k | } |
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::value::<_> <winnow::token::literal<char, &[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::value::<char> Line | Count | Source | 162 | 27.4M | fn value<O2>(self, val: O2) -> Value<Self, I, O, O2, E> | 163 | 27.4M | where | 164 | 27.4M | Self: core::marker::Sized, | 165 | 27.4M | O2: Clone, | 166 | 27.4M | { | 167 | 27.4M | Value::new(self, val) | 168 | 27.4M | } |
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<&bstr::bstr::BStr> Unexecuted instantiation: <u8 as winnow::parser::Parser<&[u8], u8, ()>>::value::<&bstr::bstr::BStr> Unexecuted instantiation: <winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::value::<u8> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::value::<_> |
169 | | |
170 | | /// Produce a type's default value |
171 | | /// |
172 | | /// # Example |
173 | | /// |
174 | | /// ```rust |
175 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
176 | | /// use winnow::ascii::alpha1; |
177 | | /// # fn main() { |
178 | | /// |
179 | | /// let mut parser = alpha1.default_value::<u32>(); |
180 | | /// |
181 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", 0))); |
182 | | /// assert_eq!(parser.parse_peek("123abcd;"), Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice)))); |
183 | | /// # } |
184 | | /// ``` |
185 | | #[inline(always)] |
186 | 0 | fn default_value<O2>(self) -> DefaultValue<Self, I, O, O2, E> |
187 | 0 | where |
188 | 0 | Self: core::marker::Sized, |
189 | 0 | O2: core::default::Default, |
190 | 0 | { |
191 | 0 | DefaultValue::new(self) |
192 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::default_value::<_> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::default_value::<_> |
193 | | |
194 | | /// Discards the output of the `Parser` |
195 | | /// |
196 | | /// # Example |
197 | | /// |
198 | | /// ```rust |
199 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
200 | | /// use winnow::ascii::alpha1; |
201 | | /// # fn main() { |
202 | | /// |
203 | | /// let mut parser = alpha1.void(); |
204 | | /// |
205 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", ()))); |
206 | | /// assert_eq!(parser.parse_peek("123abcd;"), Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice)))); |
207 | | /// # } |
208 | | /// ``` |
209 | | #[inline(always)] |
210 | 0 | fn void(self) -> Void<Self, I, O, E> |
211 | 0 | where |
212 | 0 | Self: core::marker::Sized, |
213 | 0 | { |
214 | 0 | Void::new(self) |
215 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::void Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::void |
216 | | |
217 | | /// Convert the parser's output to another type using [`std::convert::From`] |
218 | | /// |
219 | | /// # Example |
220 | | /// |
221 | | /// ```rust |
222 | | /// # use winnow::prelude::*; |
223 | | /// # use winnow::error::InputError; |
224 | | /// use winnow::ascii::alpha1; |
225 | | /// # fn main() { |
226 | | /// |
227 | | /// fn parser1<'s>(i: &mut &'s str) -> PResult<&'s str, InputError<&'s str>> { |
228 | | /// alpha1(i) |
229 | | /// } |
230 | | /// |
231 | | /// let mut parser2 = parser1.output_into(); |
232 | | /// |
233 | | /// // the parser converts the &str output of the child parser into a Vec<u8> |
234 | | /// let bytes: IResult<&str, Vec<u8>> = parser2.parse_peek("abcd"); |
235 | | /// assert_eq!(bytes, Ok(("", vec![97, 98, 99, 100]))); |
236 | | /// # } |
237 | | /// ``` |
238 | | #[inline(always)] |
239 | 0 | fn output_into<O2>(self) -> OutputInto<Self, I, O, O2, E> |
240 | 0 | where |
241 | 0 | Self: core::marker::Sized, |
242 | 0 | O: Into<O2>, |
243 | 0 | { |
244 | 0 | OutputInto::new(self) |
245 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::output_into::<_> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::output_into::<_> |
246 | | |
247 | | /// Produce the consumed input as produced value. |
248 | | /// |
249 | | /// # Example |
250 | | /// |
251 | | /// ```rust |
252 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
253 | | /// use winnow::ascii::{alpha1}; |
254 | | /// use winnow::combinator::separated_pair; |
255 | | /// # fn main() { |
256 | | /// |
257 | | /// let mut parser = separated_pair(alpha1, ',', alpha1).take(); |
258 | | /// |
259 | | /// assert_eq!(parser.parse_peek("abcd,efgh"), Ok(("", "abcd,efgh"))); |
260 | | /// assert_eq!(parser.parse_peek("abcd;"),Err(ErrMode::Backtrack(InputError::new(";", ErrorKind::Tag)))); |
261 | | /// # } |
262 | | /// ``` |
263 | | #[doc(alias = "concat")] |
264 | | #[doc(alias = "recognize")] |
265 | | #[inline(always)] |
266 | 78.1M | fn take(self) -> Take<Self, I, O, E> |
267 | 78.1M | where |
268 | 78.1M | Self: core::marker::Sized, |
269 | 78.1M | I: Stream, |
270 | 78.1M | { |
271 | 78.1M | Take::new(self) |
272 | 78.1M | } Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::take Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::take Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::take <winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>>, gix_config::parse::nom::take_newlines1::{closure#0}, &[u8], (), (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::take Line | Count | Source | 266 | 39.7M | fn take(self) -> Take<Self, I, O, E> | 267 | 39.7M | where | 268 | 39.7M | Self: core::marker::Sized, | 269 | 39.7M | I: Stream, | 270 | 39.7M | { | 271 | 39.7M | Take::new(self) | 272 | 39.7M | } |
<winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::take Line | Count | Source | 266 | 1.22M | fn take(self) -> Take<Self, I, O, E> | 267 | 1.22M | where | 268 | 1.22M | Self: core::marker::Sized, | 269 | 1.22M | I: Stream, | 270 | 1.22M | { | 271 | 1.22M | Take::new(self) | 272 | 1.22M | } |
<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (u8, &[u8]), winnow::error::InputError<&[u8]>>>::take Line | Count | Source | 266 | 36.0M | fn take(self) -> Take<Self, I, O, E> | 267 | 36.0M | where | 268 | 36.0M | Self: core::marker::Sized, | 269 | 36.0M | I: Stream, | 270 | 36.0M | { | 271 | 36.0M | Take::new(self) | 272 | 36.0M | } |
Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::take Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::take Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::take <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::take Line | Count | Source | 266 | 2.72k | fn take(self) -> Take<Self, I, O, E> | 267 | 2.72k | where | 268 | 2.72k | Self: core::marker::Sized, | 269 | 2.72k | I: Stream, | 270 | 2.72k | { | 271 | 2.72k | Take::new(self) | 272 | 2.72k | } |
<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::take Line | Count | Source | 266 | 1.04M | fn take(self) -> Take<Self, I, O, E> | 267 | 1.04M | where | 268 | 1.04M | Self: core::marker::Sized, | 269 | 1.04M | I: Stream, | 270 | 1.04M | { | 271 | 1.04M | Take::new(self) | 272 | 1.04M | } |
|
273 | | |
274 | | /// Replaced with [`Parser::take`] |
275 | | #[inline(always)] |
276 | | #[deprecated(since = "0.6.14", note = "Replaced with `Parser::take`")] |
277 | 0 | fn recognize(self) -> Take<Self, I, O, E> |
278 | 0 | where |
279 | 0 | Self: core::marker::Sized, |
280 | 0 | I: Stream, |
281 | 0 | { |
282 | 0 | Take::new(self) |
283 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::recognize Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::recognize |
284 | | |
285 | | /// Produce the consumed input with the output |
286 | | /// |
287 | | /// Functions similarly to [take][Parser::take] except it |
288 | | /// returns the parser output as well. |
289 | | /// |
290 | | /// This can be useful especially in cases where the output is not the same type |
291 | | /// as the input, or the input is a user defined type. |
292 | | /// |
293 | | /// Returned tuple is of the format `(produced output, consumed input)`. |
294 | | /// |
295 | | /// # Example |
296 | | /// |
297 | | /// ```rust |
298 | | /// # use winnow::prelude::*; |
299 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError}; |
300 | | /// use winnow::ascii::{alpha1}; |
301 | | /// use winnow::token::literal; |
302 | | /// use winnow::combinator::separated_pair; |
303 | | /// |
304 | | /// fn inner_parser<'s>(input: &mut &'s str) -> PResult<bool, InputError<&'s str>> { |
305 | | /// "1234".value(true).parse_next(input) |
306 | | /// } |
307 | | /// |
308 | | /// let mut consumed_parser = separated_pair(alpha1, ',', alpha1).value(true).with_taken(); |
309 | | /// |
310 | | /// assert_eq!(consumed_parser.parse_peek("abcd,efgh1"), Ok(("1", (true, "abcd,efgh")))); |
311 | | /// assert_eq!(consumed_parser.parse_peek("abcd;"),Err(ErrMode::Backtrack(InputError::new(";", ErrorKind::Tag)))); |
312 | | /// |
313 | | /// // the second output (representing the consumed input) |
314 | | /// // should be the same as that of the `take` parser. |
315 | | /// let mut take_parser = inner_parser.take(); |
316 | | /// let mut consumed_parser = inner_parser.with_taken().map(|(output, consumed)| consumed); |
317 | | /// |
318 | | /// assert_eq!(take_parser.parse_peek("1234"), consumed_parser.parse_peek("1234")); |
319 | | /// assert_eq!(take_parser.parse_peek("abcd"), consumed_parser.parse_peek("abcd")); |
320 | | /// ``` |
321 | | #[doc(alias = "consumed")] |
322 | | #[doc(alias = "with_recognized")] |
323 | | #[inline(always)] |
324 | 0 | fn with_taken(self) -> WithTaken<Self, I, O, E> |
325 | 0 | where |
326 | 0 | Self: core::marker::Sized, |
327 | 0 | I: Stream, |
328 | 0 | { |
329 | 0 | WithTaken::new(self) |
330 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_taken Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_taken |
331 | | |
332 | | /// Replaced with [`Parser::with_taken`] |
333 | | #[inline(always)] |
334 | | #[deprecated(since = "0.6.14", note = "Replaced with `Parser::with_taken`")] |
335 | 0 | fn with_recognized(self) -> WithTaken<Self, I, O, E> |
336 | 0 | where |
337 | 0 | Self: core::marker::Sized, |
338 | 0 | I: Stream, |
339 | 0 | { |
340 | 0 | WithTaken::new(self) |
341 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_recognized Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_recognized |
342 | | |
343 | | /// Produce the location of the consumed input as produced value. |
344 | | /// |
345 | | /// # Example |
346 | | /// |
347 | | /// ```rust |
348 | | /// # use winnow::prelude::*; |
349 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, stream::Stream}; |
350 | | /// use winnow::stream::Located; |
351 | | /// use winnow::ascii::alpha1; |
352 | | /// use winnow::combinator::separated_pair; |
353 | | /// |
354 | | /// let mut parser = separated_pair(alpha1.span(), ',', alpha1.span()); |
355 | | /// |
356 | | /// assert_eq!(parser.parse(Located::new("abcd,efgh")), Ok((0..4, 5..9))); |
357 | | /// assert_eq!(parser.parse_peek(Located::new("abcd;")),Err(ErrMode::Backtrack(InputError::new(Located::new("abcd;").peek_slice(4).0, ErrorKind::Tag)))); |
358 | | /// ``` |
359 | | #[inline(always)] |
360 | 0 | fn span(self) -> Span<Self, I, O, E> |
361 | 0 | where |
362 | 0 | Self: core::marker::Sized, |
363 | 0 | I: Stream + Location, |
364 | 0 | { |
365 | 0 | Span::new(self) |
366 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::span Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::span |
367 | | |
368 | | /// Produce the location of consumed input with the output |
369 | | /// |
370 | | /// Functions similarly to [`Parser::span`] except it |
371 | | /// returns the parser output as well. |
372 | | /// |
373 | | /// This can be useful especially in cases where the output is not the same type |
374 | | /// as the input, or the input is a user defined type. |
375 | | /// |
376 | | /// Returned tuple is of the format `(produced output, consumed input)`. |
377 | | /// |
378 | | /// # Example |
379 | | /// |
380 | | /// ```rust |
381 | | /// # use winnow::prelude::*; |
382 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, stream::Stream}; |
383 | | /// use winnow::stream::Located; |
384 | | /// use winnow::ascii::alpha1; |
385 | | /// use winnow::token::literal; |
386 | | /// use winnow::combinator::separated_pair; |
387 | | /// |
388 | | /// fn inner_parser<'s>(input: &mut Located<&'s str>) -> PResult<bool, InputError<Located<&'s str>>> { |
389 | | /// "1234".value(true).parse_next(input) |
390 | | /// } |
391 | | /// |
392 | | /// # fn main() { |
393 | | /// |
394 | | /// let mut consumed_parser = separated_pair(alpha1.value(1).with_span(), ',', alpha1.value(2).with_span()); |
395 | | /// |
396 | | /// assert_eq!(consumed_parser.parse(Located::new("abcd,efgh")), Ok(((1, 0..4), (2, 5..9)))); |
397 | | /// assert_eq!(consumed_parser.parse_peek(Located::new("abcd;")),Err(ErrMode::Backtrack(InputError::new(Located::new("abcd;").peek_slice(4).0, ErrorKind::Tag)))); |
398 | | /// |
399 | | /// // the second output (representing the consumed input) |
400 | | /// // should be the same as that of the `span` parser. |
401 | | /// let mut span_parser = inner_parser.span(); |
402 | | /// let mut consumed_parser = inner_parser.with_span().map(|(output, consumed)| consumed); |
403 | | /// |
404 | | /// assert_eq!(span_parser.parse_peek(Located::new("1234")), consumed_parser.parse_peek(Located::new("1234"))); |
405 | | /// assert_eq!(span_parser.parse_peek(Located::new("abcd")), consumed_parser.parse_peek(Located::new("abcd"))); |
406 | | /// # } |
407 | | /// ``` |
408 | | #[inline(always)] |
409 | 0 | fn with_span(self) -> WithSpan<Self, I, O, E> |
410 | 0 | where |
411 | 0 | Self: core::marker::Sized, |
412 | 0 | I: Stream + Location, |
413 | 0 | { |
414 | 0 | WithSpan::new(self) |
415 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_span Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::with_span |
416 | | |
417 | | /// Maps a function over the output of a parser |
418 | | /// |
419 | | /// # Example |
420 | | /// |
421 | | /// ```rust |
422 | | /// use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
423 | | /// use winnow::ascii::digit1; |
424 | | /// # fn main() { |
425 | | /// |
426 | | /// let mut parser = digit1.map(|s: &str| s.len()); |
427 | | /// |
428 | | /// // the parser will count how many characters were returned by digit1 |
429 | | /// assert_eq!(parser.parse_peek("123456"), Ok(("", 6))); |
430 | | /// |
431 | | /// // this will fail if digit1 fails |
432 | | /// assert_eq!(parser.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice)))); |
433 | | /// # } |
434 | | /// ``` |
435 | | #[inline(always)] |
436 | 275M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> |
437 | 275M | where |
438 | 275M | G: FnMut(O) -> O2, |
439 | 275M | Self: core::marker::Sized, |
440 | 275M | { |
441 | 275M | Map::new(self, map) |
442 | 275M | } Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 1.12M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 1.12M | where | 438 | 1.12M | G: FnMut(O) -> O2, | 439 | 1.12M | Self: core::marker::Sized, | 440 | 1.12M | { | 441 | 1.12M | Map::new(self, map) | 442 | 1.12M | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#1}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#2}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState> <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 594k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 594k | where | 438 | 594k | G: FnMut(O) -> O2, | 439 | 594k | Self: core::marker::Sized, | 440 | 594k | { | 441 | 594k | Map::new(self, map) | 442 | 594k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::map::<gix_ref::store_impl::packed::decode::header<()>::{closure#0}, gix_ref::store_impl::packed::decode::Header> Line | Count | Source | 436 | 19 | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 19 | where | 438 | 19 | G: FnMut(O) -> O2, | 439 | 19 | Self: core::marker::Sized, | 440 | 19 | { | 441 | 19 | Map::new(self, map) | 442 | 19 | } |
<(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_ref::store_impl::packed::decode::reference<()>::{closure#0}, gix_ref::store_impl::packed::Reference> Line | Count | Source | 436 | 594k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 594k | where | 438 | 594k | G: FnMut(O) -> O2, | 439 | 594k | Self: core::marker::Sized, | 440 | 594k | { | 441 | 594k | Map::new(self, map) | 442 | 594k | } |
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 4.38k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 4.38k | where | 438 | 4.38k | G: FnMut(O) -> O2, | 439 | 4.38k | Self: core::marker::Sized, | 440 | 4.38k | { | 441 | 4.38k | Map::new(self, map) | 442 | 4.38k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 4.94k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 4.94k | where | 438 | 4.94k | G: FnMut(O) -> O2, | 439 | 4.94k | Self: core::marker::Sized, | 440 | 4.94k | { | 441 | 4.94k | Map::new(self, map) | 442 | 4.94k | } |
<(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::map::<gix_ref::store_impl::file::log::line::decode::one<()>::{closure#0}, gix_ref::store_impl::file::log::LineRef> Line | Count | Source | 436 | 463k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 463k | where | 438 | 463k | G: FnMut(O) -> O2, | 439 | 463k | Self: core::marker::Sized, | 440 | 463k | { | 441 | 463k | Map::new(self, map) | 442 | 463k | } |
<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#7}, gix_actor::SignatureRef> Line | Count | Source | 436 | 47.7k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 47.7k | where | 438 | 47.7k | G: FnMut(O) -> O2, | 439 | 47.7k | Self: core::marker::Sized, | 440 | 47.7k | { | 441 | 47.7k | Map::new(self, map) | 442 | 47.7k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8]> Line | Count | Source | 436 | 47.7k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 47.7k | where | 438 | 47.7k | G: FnMut(O) -> O2, | 439 | 47.7k | Self: core::marker::Sized, | 440 | 47.7k | { | 441 | 47.7k | Map::new(self, map) | 442 | 47.7k | } |
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, gix_date::time::Sign> Line | Count | Source | 436 | 47.7k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 47.7k | where | 438 | 47.7k | G: FnMut(O) -> O2, | 439 | 47.7k | Self: core::marker::Sized, | 440 | 47.7k | { | 441 | 47.7k | Map::new(self, map) | 442 | 47.7k | } |
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, gix_date::time::Sign> Line | Count | Source | 436 | 47.7k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 47.7k | where | 438 | 47.7k | G: FnMut(O) -> O2, | 439 | 47.7k | Self: core::marker::Sized, | 440 | 47.7k | { | 441 | 47.7k | Map::new(self, map) | 442 | 47.7k | } |
<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#6}, gix_date::Time> Line | Count | Source | 436 | 47.7k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 47.7k | where | 438 | 47.7k | G: FnMut(O) -> O2, | 439 | 47.7k | Self: core::marker::Sized, | 440 | 47.7k | { | 441 | 47.7k | Map::new(self, map) | 442 | 47.7k | } |
Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()> Unexecuted instantiation: <winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString> Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>> Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef> Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#0}, core::option::Option<&bstr::bstr::BStr>> Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&[u8], core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_object::tag::decode::message<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::map::<_, _> <winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::take_newlines1::{closure#0}, ()> Line | Count | Source | 436 | 39.7M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 39.7M | where | 438 | 39.7M | G: FnMut(O) -> O2, | 439 | 39.7M | Self: core::marker::Sized, | 440 | 39.7M | { | 441 | 39.7M | Map::new(self, map) | 442 | 39.7M | } |
<winnow::combinator::multi::Repeat<gix_config::parse::nom::from_bytes::{closure#4}, &[u8], (), (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::from_bytes::{closure#5}, ()> Line | Count | Source | 436 | 12.9k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 12.9k | where | 438 | 12.9k | G: FnMut(O) -> O2, | 439 | 12.9k | Self: core::marker::Sized, | 440 | 12.9k | { | 441 | 12.9k | Map::new(self, map) | 442 | 12.9k | } |
<winnow::combinator::parser::Take<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>>, gix_config::parse::nom::take_newlines1::{closure#0}, &[u8], (), (), winnow::error::InputError<&[u8]>>, &[u8], (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 39.7M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 39.7M | where | 438 | 39.7M | G: FnMut(O) -> O2, | 439 | 39.7M | Self: core::marker::Sized, | 440 | 39.7M | { | 441 | 39.7M | Map::new(self, map) | 442 | 39.7M | } |
<winnow::combinator::parser::Take<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8], (u8, &[u8]), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 36.0M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 36.0M | where | 438 | 36.0M | G: FnMut(O) -> O2, | 439 | 36.0M | Self: core::marker::Sized, | 440 | 36.0M | { | 441 | 36.0M | Map::new(self, map) | 442 | 36.0M | } |
<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 10.8M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 10.8M | where | 438 | 10.8M | G: FnMut(O) -> O2, | 439 | 10.8M | Self: core::marker::Sized, | 440 | 10.8M | { | 441 | 10.8M | Map::new(self, map) | 442 | 10.8M | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_space, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 56.0M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 56.0M | where | 438 | 56.0M | G: FnMut(O) -> O2, | 439 | 56.0M | Self: core::marker::Sized, | 440 | 56.0M | { | 441 | 56.0M | Map::new(self, map) | 442 | 56.0M | } |
<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::comment::{closure#1}, alloc::borrow::Cow<bstr::bstr::BStr>> Line | Count | Source | 436 | 43.4M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 43.4M | where | 438 | 43.4M | G: FnMut(O) -> O2, | 439 | 43.4M | Self: core::marker::Sized, | 440 | 43.4M | { | 441 | 43.4M | Map::new(self, map) | 442 | 43.4M | } |
<gix_config::parse::nom::take_spaces1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::from_bytes::{closure#0}, gix_config::parse::Event> Line | Count | Source | 436 | 20.0k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 20.0k | where | 438 | 20.0k | G: FnMut(O) -> O2, | 439 | 20.0k | Self: core::marker::Sized, | 440 | 20.0k | { | 441 | 20.0k | Map::new(self, map) | 442 | 20.0k | } |
<gix_config::parse::nom::comment as winnow::parser::Parser<&[u8], gix_config::parse::Comment, winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::Event::Comment, gix_config::parse::Event> Line | Count | Source | 436 | 20.0k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 20.0k | where | 438 | 20.0k | G: FnMut(O) -> O2, | 439 | 20.0k | Self: core::marker::Sized, | 440 | 20.0k | { | 441 | 20.0k | Map::new(self, map) | 442 | 20.0k | } |
<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], [char; 2], winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_config::parse::nom::comment::{closure#1}, &[u8], &[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>) as winnow::parser::Parser<&[u8], (u8, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::comment::{closure#2}, gix_config::parse::Comment> Line | Count | Source | 436 | 43.4M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 43.4M | where | 438 | 43.4M | G: FnMut(O) -> O2, | 439 | 43.4M | Self: core::marker::Sized, | 440 | 43.4M | { | 441 | 43.4M | Map::new(self, map) | 442 | 43.4M | } |
<(gix_config::parse::nom::take_spaces1, winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0}, &str>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>), winnow::error::InputError<&[u8]>>>::map::<gix_config::parse::nom::section_header::{closure#2}, gix_config::parse::section::Header> Line | Count | Source | 436 | 398k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 398k | where | 438 | 398k | G: FnMut(O) -> O2, | 439 | 398k | Self: core::marker::Sized, | 440 | 398k | { | 441 | 398k | Map::new(self, map) | 442 | 398k | } |
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::map::<gix_ref::store_impl::file::log::line::decode::one<()>::{closure#0}, gix_ref::store_impl::file::log::LineRef> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#1}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::map::<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#2}, gix_ref::store_impl::file::loose::reference::decode::MaybeUnsafeState> Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::map::<gix_ref::store_impl::packed::decode::header<()>::{closure#0}, gix_ref::store_impl::packed::decode::Header> Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_ref::store_impl::packed::decode::reference<()>::{closure#0}, gix_ref::store_impl::packed::Reference> Unexecuted instantiation: <winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#0}, core::option::Option<&bstr::bstr::BStr>> Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&[u8], core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_object::tag::decode::message<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef> Unexecuted instantiation: <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>> Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)> Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef> Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()> Unexecuted instantiation: <winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString> Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Unexecuted instantiation: <winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#7}, gix_actor::SignatureRef> Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8]> Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, gix_date::time::Sign> Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, gix_date::time::Sign> Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#6}, gix_date::Time> Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::map::<_, _> <winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::map::<gix_object::commit::decode::commit<()>::{closure#2}, alloc::vec::Vec<&bstr::bstr::BStr>> Line | Count | Source | 436 | 2.06k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 2.06k | where | 438 | 2.06k | G: FnMut(O) -> O2, | 439 | 2.06k | Self: core::marker::Sized, | 440 | 2.06k | { | 441 | 2.06k | Map::new(self, map) | 442 | 2.06k | } |
<gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#6}, (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)> Line | Count | Source | 436 | 2.06k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 2.06k | where | 438 | 2.06k | G: FnMut(O) -> O2, | 439 | 2.06k | Self: core::marker::Sized, | 440 | 2.06k | { | 441 | 2.06k | Map::new(self, map) | 442 | 2.06k | } |
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 834 | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 834 | where | 438 | 834 | G: FnMut(O) -> O2, | 439 | 834 | Self: core::marker::Sized, | 440 | 834 | { | 441 | 834 | Map::new(self, map) | 442 | 834 | } |
<(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::map::<gix_object::commit::decode::commit<()>::{closure#8}, gix_object::CommitRef> Line | Count | Source | 436 | 2.06k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 2.06k | where | 438 | 2.06k | G: FnMut(O) -> O2, | 439 | 2.06k | Self: core::marker::Sized, | 440 | 2.06k | { | 441 | 2.06k | Map::new(self, map) | 442 | 2.06k | } |
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::commit::message::decode::subject_and_body<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> <winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#0}, core::option::Option<&bstr::bstr::BStr>> Line | Count | Source | 436 | 2.72k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 2.72k | where | 438 | 2.72k | G: FnMut(O) -> O2, | 439 | 2.72k | Self: core::marker::Sized, | 440 | 2.72k | { | 441 | 2.72k | Map::new(self, map) | 442 | 2.72k | } |
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::tag::decode::message<()>::{closure#1}, (&[u8], core::option::Option<&bstr::bstr::BStr>)> Line | Count | Source | 436 | 2.72k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 2.72k | where | 438 | 2.72k | G: FnMut(O) -> O2, | 439 | 2.72k | Self: core::marker::Sized, | 440 | 2.72k | { | 441 | 2.72k | Map::new(self, map) | 442 | 2.72k | } |
<winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::map::<gix_object::tag::decode::message<()>::{closure#2}, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)> Line | Count | Source | 436 | 2.72k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 2.72k | where | 438 | 2.72k | G: FnMut(O) -> O2, | 439 | 2.72k | Self: core::marker::Sized, | 440 | 2.72k | { | 441 | 2.72k | Map::new(self, map) | 442 | 2.72k | } |
<(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::map::<gix_object::tag::decode::git_tag<()>::{closure#5}, gix_object::TagRef> Line | Count | Source | 436 | 1.99k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 1.99k | where | 438 | 1.99k | G: FnMut(O) -> O2, | 439 | 1.99k | Self: core::marker::Sized, | 440 | 1.99k | { | 441 | 1.99k | Map::new(self, map) | 442 | 1.99k | } |
<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#0}, ()> Line | Count | Source | 436 | 1.04M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 1.04M | where | 438 | 1.04M | G: FnMut(O) -> O2, | 439 | 1.04M | Self: core::marker::Sized, | 440 | 1.04M | { | 441 | 1.04M | Map::new(self, map) | 442 | 1.04M | } |
<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_object::parse::any_header_field_multi_line<()>::{closure#1}, bstr::bstring::BString> Line | Count | Source | 436 | 1.04M | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 1.04M | where | 438 | 1.04M | G: FnMut(O) -> O2, | 439 | 1.04M | Self: core::marker::Sized, | 440 | 1.04M | { | 441 | 1.04M | Map::new(self, map) | 442 | 1.04M | } |
<winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<<[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &bstr::bstr::BStr> Line | Count | Source | 436 | 14.3k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 14.3k | where | 438 | 14.3k | G: FnMut(O) -> O2, | 439 | 14.3k | Self: core::marker::Sized, | 440 | 14.3k | { | 441 | 14.3k | Map::new(self, map) | 442 | 14.3k | } |
<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#7}, gix_actor::SignatureRef> Line | Count | Source | 436 | 7.66k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 7.66k | where | 438 | 7.66k | G: FnMut(O) -> O2, | 439 | 7.66k | Self: core::marker::Sized, | 440 | 7.66k | { | 441 | 7.66k | Map::new(self, map) | 442 | 7.66k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8]> Line | Count | Source | 436 | 7.66k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 7.66k | where | 438 | 7.66k | G: FnMut(O) -> O2, | 439 | 7.66k | Self: core::marker::Sized, | 440 | 7.66k | { | 441 | 7.66k | Map::new(self, map) | 442 | 7.66k | } |
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#2}, gix_date::time::Sign> Line | Count | Source | 436 | 7.66k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 7.66k | where | 438 | 7.66k | G: FnMut(O) -> O2, | 439 | 7.66k | Self: core::marker::Sized, | 440 | 7.66k | { | 441 | 7.66k | Map::new(self, map) | 442 | 7.66k | } |
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#1}, gix_date::time::Sign> Line | Count | Source | 436 | 7.66k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 7.66k | where | 438 | 7.66k | G: FnMut(O) -> O2, | 439 | 7.66k | Self: core::marker::Sized, | 440 | 7.66k | { | 441 | 7.66k | Map::new(self, map) | 442 | 7.66k | } |
<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::map::<gix_actor::signature::decode::function::decode<()>::{closure#6}, gix_date::Time> Line | Count | Source | 436 | 7.66k | fn map<G, O2>(self, map: G) -> Map<Self, G, I, O, O2, E> | 437 | 7.66k | where | 438 | 7.66k | G: FnMut(O) -> O2, | 439 | 7.66k | Self: core::marker::Sized, | 440 | 7.66k | { | 441 | 7.66k | Map::new(self, map) | 442 | 7.66k | } |
|
443 | | |
444 | | /// Applies a function returning a `Result` over the output of a parser. |
445 | | /// |
446 | | /// # Example |
447 | | /// |
448 | | /// ```rust |
449 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
450 | | /// use winnow::ascii::digit1; |
451 | | /// # fn main() { |
452 | | /// |
453 | | /// let mut parse = digit1.try_map(|s: &str| s.parse::<u8>()); |
454 | | /// |
455 | | /// // the parser will convert the result of digit1 to a number |
456 | | /// assert_eq!(parse.parse_peek("123"), Ok(("", 123))); |
457 | | /// |
458 | | /// // this will fail if digit1 fails |
459 | | /// assert_eq!(parse.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice)))); |
460 | | /// |
461 | | /// // this will fail if the mapped function fails (a `u8` is too small to hold `123456`) |
462 | | /// assert_eq!(parse.parse_peek("123456"), Err(ErrMode::Backtrack(InputError::new("123456", ErrorKind::Verify)))); |
463 | | /// # } |
464 | | /// ``` |
465 | | #[inline(always)] |
466 | 594k | fn try_map<G, O2, E2>(self, map: G) -> TryMap<Self, G, I, O, O2, E, E2> |
467 | 594k | where |
468 | 594k | Self: core::marker::Sized, |
469 | 594k | G: FnMut(O) -> Result<O2, E2>, |
470 | 594k | I: Stream, |
471 | 594k | E: FromExternalError<I, E2>, |
472 | 594k | { |
473 | 594k | TryMap::new(self, map) |
474 | 594k | } <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::try_map::<<&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &gix_ref::FullNameRef, gix_validate::reference::name::Error> Line | Count | Source | 466 | 594k | fn try_map<G, O2, E2>(self, map: G) -> TryMap<Self, G, I, O, O2, E, E2> | 467 | 594k | where | 468 | 594k | Self: core::marker::Sized, | 469 | 594k | G: FnMut(O) -> Result<O2, E2>, | 470 | 594k | I: Stream, | 471 | 594k | E: FromExternalError<I, E2>, | 472 | 594k | { | 473 | 594k | TryMap::new(self, map) | 474 | 594k | } |
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::try_map::<_, _, _> Unexecuted instantiation: <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::try_map::<<&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &gix_ref::FullNameRef, gix_validate::reference::name::Error> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::try_map::<_, _, _> |
475 | | |
476 | | /// Apply both [`Parser::verify`] and [`Parser::map`]. |
477 | | /// |
478 | | /// # Example |
479 | | /// |
480 | | /// ```rust |
481 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
482 | | /// use winnow::ascii::digit1; |
483 | | /// # fn main() { |
484 | | /// |
485 | | /// let mut parse = digit1.verify_map(|s: &str| s.parse::<u8>().ok()); |
486 | | /// |
487 | | /// // the parser will convert the result of digit1 to a number |
488 | | /// assert_eq!(parse.parse_peek("123"), Ok(("", 123))); |
489 | | /// |
490 | | /// // this will fail if digit1 fails |
491 | | /// assert_eq!(parse.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice)))); |
492 | | /// |
493 | | /// // this will fail if the mapped function fails (a `u8` is too small to hold `123456`) |
494 | | /// assert_eq!(parse.parse_peek("123456"), Err(ErrMode::Backtrack(InputError::new("123456", ErrorKind::Verify)))); |
495 | | /// # } |
496 | | /// ``` |
497 | | #[doc(alias = "satisfy_map")] |
498 | | #[doc(alias = "filter_map")] |
499 | | #[doc(alias = "map_opt")] |
500 | | #[inline(always)] |
501 | 168k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> |
502 | 168k | where |
503 | 168k | Self: core::marker::Sized, |
504 | 168k | G: FnMut(O) -> Option<O2>, |
505 | 168k | I: Stream, |
506 | 168k | E: ParserError<I>, |
507 | 168k | { |
508 | 168k | VerifyMap::new(self, map) |
509 | 168k | } <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#4}, i32> Line | Count | Source | 501 | 47.7k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> | 502 | 47.7k | where | 503 | 47.7k | Self: core::marker::Sized, | 504 | 47.7k | G: FnMut(O) -> Option<O2>, | 505 | 47.7k | I: Stream, | 506 | 47.7k | E: ParserError<I>, | 507 | 47.7k | { | 508 | 47.7k | VerifyMap::new(self, map) | 509 | 47.7k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, i32> Line | Count | Source | 501 | 47.7k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> | 502 | 47.7k | where | 503 | 47.7k | Self: core::marker::Sized, | 504 | 47.7k | G: FnMut(O) -> Option<O2>, | 505 | 47.7k | I: Stream, | 506 | 47.7k | E: ParserError<I>, | 507 | 47.7k | { | 508 | 47.7k | VerifyMap::new(self, map) | 509 | 47.7k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#0}, i64> Line | Count | Source | 501 | 47.7k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> | 502 | 47.7k | where | 503 | 47.7k | Self: core::marker::Sized, | 504 | 47.7k | G: FnMut(O) -> Option<O2>, | 505 | 47.7k | I: Stream, | 506 | 47.7k | E: ParserError<I>, | 507 | 47.7k | { | 508 | 47.7k | VerifyMap::new(self, map) | 509 | 47.7k | } |
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify_map::<_, _> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind> Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#4}, i32> Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, i32> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#0}, i64> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify_map::<_, _> <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_object::tag::decode::git_tag<()>::{closure#2}, gix_object::Kind> Line | Count | Source | 501 | 1.99k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> | 502 | 1.99k | where | 503 | 1.99k | Self: core::marker::Sized, | 504 | 1.99k | G: FnMut(O) -> Option<O2>, | 505 | 1.99k | I: Stream, | 506 | 1.99k | E: ParserError<I>, | 507 | 1.99k | { | 508 | 1.99k | VerifyMap::new(self, map) | 509 | 1.99k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#4}, i32> Line | Count | Source | 501 | 7.66k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> | 502 | 7.66k | where | 503 | 7.66k | Self: core::marker::Sized, | 504 | 7.66k | G: FnMut(O) -> Option<O2>, | 505 | 7.66k | I: Stream, | 506 | 7.66k | E: ParserError<I>, | 507 | 7.66k | { | 508 | 7.66k | VerifyMap::new(self, map) | 509 | 7.66k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#3}, i32> Line | Count | Source | 501 | 7.66k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> | 502 | 7.66k | where | 503 | 7.66k | Self: core::marker::Sized, | 504 | 7.66k | G: FnMut(O) -> Option<O2>, | 505 | 7.66k | I: Stream, | 506 | 7.66k | E: ParserError<I>, | 507 | 7.66k | { | 508 | 7.66k | VerifyMap::new(self, map) | 509 | 7.66k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::verify_map::<gix_actor::signature::decode::function::decode<()>::{closure#0}, i64> Line | Count | Source | 501 | 7.66k | fn verify_map<G, O2>(self, map: G) -> VerifyMap<Self, G, I, O, O2, E> | 502 | 7.66k | where | 503 | 7.66k | Self: core::marker::Sized, | 504 | 7.66k | G: FnMut(O) -> Option<O2>, | 505 | 7.66k | I: Stream, | 506 | 7.66k | E: ParserError<I>, | 507 | 7.66k | { | 508 | 7.66k | VerifyMap::new(self, map) | 509 | 7.66k | } |
|
510 | | |
511 | | /// Creates a parser from the output of this one |
512 | | /// |
513 | | /// # Example |
514 | | /// |
515 | | /// ```rust |
516 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, PResult, Parser}; |
517 | | /// use winnow::token::take; |
518 | | /// use winnow::binary::u8; |
519 | | /// |
520 | | /// fn length_take<'s>(input: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> { |
521 | | /// u8.flat_map(take).parse_next(input) |
522 | | /// } |
523 | | /// |
524 | | /// assert_eq!(length_take.parse_peek(&[2, 0, 1, 2][..]), Ok((&[2][..], &[0, 1][..]))); |
525 | | /// assert_eq!(length_take.parse_peek(&[4, 0, 1, 2][..]), Err(ErrMode::Backtrack(InputError::new(&[0, 1, 2][..], ErrorKind::Slice)))); |
526 | | /// ``` |
527 | | /// |
528 | | /// which is the same as |
529 | | /// ```rust |
530 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, PResult, Parser}; |
531 | | /// use winnow::token::take; |
532 | | /// use winnow::binary::u8; |
533 | | /// |
534 | | /// fn length_take<'s>(input: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> { |
535 | | /// let length = u8.parse_next(input)?; |
536 | | /// let data = take(length).parse_next(input)?; |
537 | | /// Ok(data) |
538 | | /// } |
539 | | /// |
540 | | /// assert_eq!(length_take.parse_peek(&[2, 0, 1, 2][..]), Ok((&[2][..], &[0, 1][..]))); |
541 | | /// assert_eq!(length_take.parse_peek(&[4, 0, 1, 2][..]), Err(ErrMode::Backtrack(InputError::new(&[0, 1, 2][..], ErrorKind::Slice)))); |
542 | | /// ``` |
543 | | #[inline(always)] |
544 | 0 | fn flat_map<G, H, O2>(self, map: G) -> FlatMap<Self, G, H, I, O, O2, E> |
545 | 0 | where |
546 | 0 | Self: core::marker::Sized, |
547 | 0 | G: FnMut(O) -> H, |
548 | 0 | H: Parser<I, O2, E>, |
549 | 0 | { |
550 | 0 | FlatMap::new(self, map) |
551 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::flat_map::<_, _, _> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::flat_map::<_, _, _> |
552 | | |
553 | | /// Applies a second parser over the output of the first one |
554 | | /// |
555 | | /// # Example |
556 | | /// |
557 | | /// ```rust |
558 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
559 | | /// use winnow::ascii::digit1; |
560 | | /// use winnow::token::take; |
561 | | /// # fn main() { |
562 | | /// |
563 | | /// let mut digits = take(5u8).and_then(digit1); |
564 | | /// |
565 | | /// assert_eq!(digits.parse_peek("12345"), Ok(("", "12345"))); |
566 | | /// assert_eq!(digits.parse_peek("123ab"), Ok(("", "123"))); |
567 | | /// assert_eq!(digits.parse_peek("123"), Err(ErrMode::Backtrack(InputError::new("123", ErrorKind::Slice)))); |
568 | | /// # } |
569 | | /// ``` |
570 | | #[inline(always)] |
571 | 0 | fn and_then<G, O2>(self, inner: G) -> AndThen<Self, G, I, O, O2, E> |
572 | 0 | where |
573 | 0 | Self: core::marker::Sized, |
574 | 0 | G: Parser<O, O2, E>, |
575 | 0 | O: StreamIsPartial, |
576 | 0 | I: Stream, |
577 | 0 | { |
578 | 0 | AndThen::new(self, inner) |
579 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::and_then::<_, _> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::and_then::<_, _> |
580 | | |
581 | | /// Apply [`std::str::FromStr`] to the output of the parser |
582 | | /// |
583 | | /// # Example |
584 | | /// |
585 | | /// ```rust |
586 | | /// # use winnow::prelude::*; |
587 | | /// use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
588 | | /// use winnow::ascii::digit1; |
589 | | /// |
590 | | /// fn parser<'s>(input: &mut &'s str) -> PResult<u64, InputError<&'s str>> { |
591 | | /// digit1.parse_to().parse_next(input) |
592 | | /// } |
593 | | /// |
594 | | /// // the parser will count how many characters were returned by digit1 |
595 | | /// assert_eq!(parser.parse_peek("123456"), Ok(("", 123456))); |
596 | | /// |
597 | | /// // this will fail if digit1 fails |
598 | | /// assert_eq!(parser.parse_peek("abc"), Err(ErrMode::Backtrack(InputError::new("abc", ErrorKind::Slice)))); |
599 | | /// ``` |
600 | | #[doc(alias = "from_str")] |
601 | | #[inline(always)] |
602 | 0 | fn parse_to<O2>(self) -> ParseTo<Self, I, O, O2, E> |
603 | 0 | where |
604 | 0 | Self: core::marker::Sized, |
605 | 0 | I: Stream, |
606 | 0 | O: ParseSlice<O2>, |
607 | 0 | E: ParserError<I>, |
608 | 0 | { |
609 | 0 | ParseTo::new(self) |
610 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_to::<_> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_to::<_> |
611 | | |
612 | | /// Returns the output of the child parser if it satisfies a verification function. |
613 | | /// |
614 | | /// The verification function takes as argument a reference to the output of the |
615 | | /// parser. |
616 | | /// |
617 | | /// # Example |
618 | | /// |
619 | | /// ```rust |
620 | | /// # use winnow::{error::ErrMode,error::ErrorKind, error::InputError, Parser}; |
621 | | /// # use winnow::ascii::alpha1; |
622 | | /// # fn main() { |
623 | | /// |
624 | | /// let mut parser = alpha1.verify(|s: &str| s.len() == 4); |
625 | | /// |
626 | | /// assert_eq!(parser.parse_peek("abcd"), Ok(("", "abcd"))); |
627 | | /// assert_eq!(parser.parse_peek("abcde"), Err(ErrMode::Backtrack(InputError::new("abcde", ErrorKind::Verify)))); |
628 | | /// assert_eq!(parser.parse_peek("123abcd;"),Err(ErrMode::Backtrack(InputError::new("123abcd;", ErrorKind::Slice)))); |
629 | | /// # } |
630 | | /// ``` |
631 | | #[doc(alias = "satisfy")] |
632 | | #[doc(alias = "filter")] |
633 | | #[inline(always)] |
634 | 91.5M | fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E> |
635 | 91.5M | where |
636 | 91.5M | Self: core::marker::Sized, |
637 | 91.5M | G: FnMut(&O2) -> bool, |
638 | 91.5M | I: Stream, |
639 | 91.5M | O: crate::lib::std::borrow::Borrow<O2>, |
640 | 91.5M | O2: ?Sized, |
641 | 91.5M | E: ParserError<I>, |
642 | 91.5M | { |
643 | 91.5M | Verify::new(self, filter) |
644 | 91.5M | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify::<_, _> <winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], [char; 2], winnow::error::InputError<&[u8]>>::{closure#0}, u8> Line | Count | Source | 634 | 43.4M | fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E> | 635 | 43.4M | where | 636 | 43.4M | Self: core::marker::Sized, | 637 | 43.4M | G: FnMut(&O2) -> bool, | 638 | 43.4M | I: Stream, | 639 | 43.4M | O: crate::lib::std::borrow::Borrow<O2>, | 640 | 43.4M | O2: ?Sized, | 641 | 43.4M | E: ParserError<I>, | 642 | 43.4M | { | 643 | 43.4M | Verify::new(self, filter) | 644 | 43.4M | } |
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, u8> Line | Count | Source | 634 | 36.0M | fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E> | 635 | 36.0M | where | 636 | 36.0M | Self: core::marker::Sized, | 637 | 36.0M | G: FnMut(&O2) -> bool, | 638 | 36.0M | I: Stream, | 639 | 36.0M | O: crate::lib::std::borrow::Borrow<O2>, | 640 | 36.0M | O2: ?Sized, | 641 | 36.0M | E: ParserError<I>, | 642 | 36.0M | { | 643 | 36.0M | Verify::new(self, filter) | 644 | 36.0M | } |
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::InputError<&[u8]>>::{closure#0}, u8> Line | Count | Source | 634 | 1.22M | fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E> | 635 | 1.22M | where | 636 | 1.22M | Self: core::marker::Sized, | 637 | 1.22M | G: FnMut(&O2) -> bool, | 638 | 1.22M | I: Stream, | 639 | 1.22M | O: crate::lib::std::borrow::Borrow<O2>, | 640 | 1.22M | O2: ?Sized, | 641 | 1.22M | E: ParserError<I>, | 642 | 1.22M | { | 643 | 1.22M | Verify::new(self, filter) | 644 | 1.22M | } |
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::verify::<winnow::token::one_of<&[u8], char, winnow::error::InputError<&[u8]>>::{closure#0}, u8> Line | Count | Source | 634 | 10.7M | fn verify<G, O2>(self, filter: G) -> Verify<Self, G, I, O, O2, E> | 635 | 10.7M | where | 636 | 10.7M | Self: core::marker::Sized, | 637 | 10.7M | G: FnMut(&O2) -> bool, | 638 | 10.7M | I: Stream, | 639 | 10.7M | O: crate::lib::std::borrow::Borrow<O2>, | 640 | 10.7M | O2: ?Sized, | 641 | 10.7M | E: ParserError<I>, | 642 | 10.7M | { | 643 | 10.7M | Verify::new(self, filter) | 644 | 10.7M | } |
Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::verify::<_, _> |
645 | | |
646 | | /// If parsing fails, add context to the error |
647 | | /// |
648 | | /// This is used mainly to add user friendly information |
649 | | /// to errors when backtracking through a parse tree. |
650 | | #[doc(alias = "labelled")] |
651 | | #[inline(always)] |
652 | 4.66M | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> |
653 | 4.66M | where |
654 | 4.66M | Self: core::marker::Sized, |
655 | 4.66M | I: Stream, |
656 | 4.66M | E: AddContext<I, C>, |
657 | 4.66M | C: Clone + crate::lib::std::fmt::Debug, |
658 | 4.66M | { |
659 | 4.66M | Context::new(self, context) |
660 | 4.66M | } <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 463k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 463k | where | 654 | 463k | Self: core::marker::Sized, | 655 | 463k | I: Stream, | 656 | 463k | E: AddContext<I, C>, | 657 | 463k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 463k | { | 659 | 463k | Context::new(self, context) | 660 | 463k | } |
<gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 463k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 463k | where | 654 | 463k | Self: core::marker::Sized, | 655 | 463k | I: Stream, | 656 | 463k | E: AddContext<I, C>, | 657 | 463k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 463k | { | 659 | 463k | Context::new(self, context) | 660 | 463k | } |
<gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 463k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 463k | where | 654 | 463k | Self: core::marker::Sized, | 655 | 463k | I: Stream, | 656 | 463k | E: AddContext<I, C>, | 657 | 463k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 463k | { | 659 | 463k | Context::new(self, context) | 660 | 463k | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 927k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 927k | where | 654 | 927k | Self: core::marker::Sized, | 655 | 927k | I: Stream, | 656 | 927k | E: AddContext<I, C>, | 657 | 927k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 927k | { | 659 | 927k | Context::new(self, context) | 660 | 927k | } |
<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 463k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 463k | where | 654 | 463k | Self: core::marker::Sized, | 655 | 463k | I: Stream, | 656 | 463k | E: AddContext<I, C>, | 657 | 463k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 463k | { | 659 | 463k | Context::new(self, context) | 660 | 463k | } |
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> <winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()> as winnow::parser::Parser<&[u8], i64, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 47.7k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 47.7k | where | 654 | 47.7k | Self: core::marker::Sized, | 655 | 47.7k | I: Stream, | 656 | 47.7k | E: AddContext<I, C>, | 657 | 47.7k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 47.7k | { | 659 | 47.7k | Context::new(self, context) | 660 | 47.7k | } |
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 47.7k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 47.7k | where | 654 | 47.7k | Self: core::marker::Sized, | 655 | 47.7k | I: Stream, | 656 | 47.7k | E: AddContext<I, C>, | 657 | 47.7k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 47.7k | { | 659 | 47.7k | Context::new(self, context) | 660 | 47.7k | } |
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 47.7k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 47.7k | where | 654 | 47.7k | Self: core::marker::Sized, | 655 | 47.7k | I: Stream, | 656 | 47.7k | E: AddContext<I, C>, | 657 | 47.7k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 47.7k | { | 659 | 47.7k | Context::new(self, context) | 660 | 47.7k | } |
<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 47.7k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 47.7k | where | 654 | 47.7k | Self: core::marker::Sized, | 655 | 47.7k | I: Stream, | 656 | 47.7k | E: AddContext<I, C>, | 657 | 47.7k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 47.7k | { | 659 | 47.7k | Context::new(self, context) | 660 | 47.7k | } |
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 47.7k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 47.7k | where | 654 | 47.7k | Self: core::marker::Sized, | 655 | 47.7k | I: Stream, | 656 | 47.7k | E: AddContext<I, C>, | 657 | 47.7k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 47.7k | { | 659 | 47.7k | Context::new(self, context) | 660 | 47.7k | } |
Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::context::<_> Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()> as winnow::parser::Parser<&[u8], i64, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::context::<_> <winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.06k | where | 654 | 2.06k | Self: core::marker::Sized, | 655 | 2.06k | I: Stream, | 656 | 2.06k | E: AddContext<I, C>, | 657 | 2.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.06k | { | 659 | 2.06k | Context::new(self, context) | 660 | 2.06k | } |
<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.06k | where | 654 | 2.06k | Self: core::marker::Sized, | 655 | 2.06k | I: Stream, | 656 | 2.06k | E: AddContext<I, C>, | 657 | 2.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.06k | { | 659 | 2.06k | Context::new(self, context) | 660 | 2.06k | } |
<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.06k | where | 654 | 2.06k | Self: core::marker::Sized, | 655 | 2.06k | I: Stream, | 656 | 2.06k | E: AddContext<I, C>, | 657 | 2.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.06k | { | 659 | 2.06k | Context::new(self, context) | 660 | 2.06k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 834 | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 834 | where | 654 | 834 | Self: core::marker::Sized, | 655 | 834 | I: Stream, | 656 | 834 | E: AddContext<I, C>, | 657 | 834 | C: Clone + crate::lib::std::fmt::Debug, | 658 | 834 | { | 659 | 834 | Context::new(self, context) | 660 | 834 | } |
<gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.06k | where | 654 | 2.06k | Self: core::marker::Sized, | 655 | 2.06k | I: Stream, | 656 | 2.06k | E: AddContext<I, C>, | 657 | 2.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.06k | { | 659 | 2.06k | Context::new(self, context) | 660 | 2.06k | } |
<gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.06k | where | 654 | 2.06k | Self: core::marker::Sized, | 655 | 2.06k | I: Stream, | 656 | 2.06k | E: AddContext<I, C>, | 657 | 2.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.06k | { | 659 | 2.06k | Context::new(self, context) | 660 | 2.06k | } |
<gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.06k | where | 654 | 2.06k | Self: core::marker::Sized, | 655 | 2.06k | I: Stream, | 656 | 2.06k | E: AddContext<I, C>, | 657 | 2.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.06k | { | 659 | 2.06k | Context::new(self, context) | 660 | 2.06k | } |
<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.99k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.99k | where | 654 | 1.99k | Self: core::marker::Sized, | 655 | 1.99k | I: Stream, | 656 | 1.99k | E: AddContext<I, C>, | 657 | 1.99k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.99k | { | 659 | 1.99k | Context::new(self, context) | 660 | 1.99k | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.99k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.99k | where | 654 | 1.99k | Self: core::marker::Sized, | 655 | 1.99k | I: Stream, | 656 | 1.99k | E: AddContext<I, C>, | 657 | 1.99k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.99k | { | 659 | 1.99k | Context::new(self, context) | 660 | 1.99k | } |
<gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.99k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.99k | where | 654 | 1.99k | Self: core::marker::Sized, | 655 | 1.99k | I: Stream, | 656 | 1.99k | E: AddContext<I, C>, | 657 | 1.99k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.99k | { | 659 | 1.99k | Context::new(self, context) | 660 | 1.99k | } |
<gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.99k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.99k | where | 654 | 1.99k | Self: core::marker::Sized, | 655 | 1.99k | I: Stream, | 656 | 1.99k | E: AddContext<I, C>, | 657 | 1.99k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.99k | { | 659 | 1.99k | Context::new(self, context) | 660 | 1.99k | } |
<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.04M | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.04M | where | 654 | 1.04M | Self: core::marker::Sized, | 655 | 1.04M | I: Stream, | 656 | 1.04M | E: AddContext<I, C>, | 657 | 1.04M | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.04M | { | 659 | 1.04M | Context::new(self, context) | 660 | 1.04M | } |
<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()> as winnow::parser::Parser<&[u8], i64, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 7.66k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 7.66k | where | 654 | 7.66k | Self: core::marker::Sized, | 655 | 7.66k | I: Stream, | 656 | 7.66k | E: AddContext<I, C>, | 657 | 7.66k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 7.66k | { | 659 | 7.66k | Context::new(self, context) | 660 | 7.66k | } |
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 7.66k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 7.66k | where | 654 | 7.66k | Self: core::marker::Sized, | 655 | 7.66k | I: Stream, | 656 | 7.66k | E: AddContext<I, C>, | 657 | 7.66k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 7.66k | { | 659 | 7.66k | Context::new(self, context) | 660 | 7.66k | } |
<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()> as winnow::parser::Parser<&[u8], i32, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 7.66k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 7.66k | where | 654 | 7.66k | Self: core::marker::Sized, | 655 | 7.66k | I: Stream, | 656 | 7.66k | E: AddContext<I, C>, | 657 | 7.66k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 7.66k | { | 659 | 7.66k | Context::new(self, context) | 660 | 7.66k | } |
<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 7.66k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 7.66k | where | 654 | 7.66k | Self: core::marker::Sized, | 655 | 7.66k | I: Stream, | 656 | 7.66k | E: AddContext<I, C>, | 657 | 7.66k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 7.66k | { | 659 | 7.66k | Context::new(self, context) | 660 | 7.66k | } |
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 7.66k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 7.66k | where | 654 | 7.66k | Self: core::marker::Sized, | 655 | 7.66k | I: Stream, | 656 | 7.66k | E: AddContext<I, C>, | 657 | 7.66k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 7.66k | { | 659 | 7.66k | Context::new(self, context) | 660 | 7.66k | } |
<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 720 | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 720 | where | 654 | 720 | Self: core::marker::Sized, | 655 | 720 | I: Stream, | 656 | 720 | E: AddContext<I, C>, | 657 | 720 | C: Clone + crate::lib::std::fmt::Debug, | 658 | 720 | { | 659 | 720 | Context::new(self, context) | 660 | 720 | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.65k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.65k | where | 654 | 1.65k | Self: core::marker::Sized, | 655 | 1.65k | I: Stream, | 656 | 1.65k | E: AddContext<I, C>, | 657 | 1.65k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.65k | { | 659 | 1.65k | Context::new(self, context) | 660 | 1.65k | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 5.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 5.06k | where | 654 | 5.06k | Self: core::marker::Sized, | 655 | 5.06k | I: Stream, | 656 | 5.06k | E: AddContext<I, C>, | 657 | 5.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 5.06k | { | 659 | 5.06k | Context::new(self, context) | 660 | 5.06k | } |
<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 521k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 521k | where | 654 | 521k | Self: core::marker::Sized, | 655 | 521k | I: Stream, | 656 | 521k | E: AddContext<I, C>, | 657 | 521k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 521k | { | 659 | 521k | Context::new(self, context) | 660 | 521k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.06k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.06k | where | 654 | 2.06k | Self: core::marker::Sized, | 655 | 2.06k | I: Stream, | 656 | 2.06k | E: AddContext<I, C>, | 657 | 2.06k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.06k | { | 659 | 2.06k | Context::new(self, context) | 660 | 2.06k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 2.78k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 2.78k | where | 654 | 2.78k | Self: core::marker::Sized, | 655 | 2.78k | I: Stream, | 656 | 2.78k | E: AddContext<I, C>, | 657 | 2.78k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 2.78k | { | 659 | 2.78k | Context::new(self, context) | 660 | 2.78k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.99k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.99k | where | 654 | 1.99k | Self: core::marker::Sized, | 655 | 1.99k | I: Stream, | 656 | 1.99k | E: AddContext<I, C>, | 657 | 1.99k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.99k | { | 659 | 1.99k | Context::new(self, context) | 660 | 1.99k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.71k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.71k | where | 654 | 1.71k | Self: core::marker::Sized, | 655 | 1.71k | I: Stream, | 656 | 1.71k | E: AddContext<I, C>, | 657 | 1.71k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.71k | { | 659 | 1.71k | Context::new(self, context) | 660 | 1.71k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::context::<winnow::error::StrContext> Line | Count | Source | 652 | 1.90k | fn context<C>(self, context: C) -> Context<Self, I, O, E, C> | 653 | 1.90k | where | 654 | 1.90k | Self: core::marker::Sized, | 655 | 1.90k | I: Stream, | 656 | 1.90k | E: AddContext<I, C>, | 657 | 1.90k | C: Clone + crate::lib::std::fmt::Debug, | 658 | 1.90k | { | 659 | 1.90k | Context::new(self, context) | 660 | 1.90k | } |
|
661 | | |
662 | | /// Transforms [`Incomplete`][crate::error::ErrMode::Incomplete] into [`Backtrack`][crate::error::ErrMode::Backtrack] |
663 | | /// |
664 | | /// # Example |
665 | | /// |
666 | | /// ```rust |
667 | | /// # use winnow::{error::ErrMode, error::ErrorKind, error::InputError, stream::Partial, Parser}; |
668 | | /// # use winnow::token::take; |
669 | | /// # fn main() { |
670 | | /// |
671 | | /// let mut parser = take(5u8).complete_err(); |
672 | | /// |
673 | | /// assert_eq!(parser.parse_peek(Partial::new("abcdefg")), Ok((Partial::new("fg"), "abcde"))); |
674 | | /// assert_eq!(parser.parse_peek(Partial::new("abcd")), Err(ErrMode::Backtrack(InputError::new(Partial::new("abcd"), ErrorKind::Complete)))); |
675 | | /// # } |
676 | | /// ``` |
677 | | #[inline(always)] |
678 | 0 | fn complete_err(self) -> CompleteErr<Self> |
679 | 0 | where |
680 | 0 | Self: core::marker::Sized, |
681 | 0 | { |
682 | 0 | CompleteErr::new(self) |
683 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::complete_err Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::complete_err |
684 | | |
685 | | /// Convert the parser's error to another type using [`std::convert::From`] |
686 | | #[inline(always)] |
687 | 0 | fn err_into<E2>(self) -> ErrInto<Self, I, O, E, E2> |
688 | 0 | where |
689 | 0 | Self: core::marker::Sized, |
690 | 0 | E: Into<E2>, |
691 | 0 | { |
692 | 0 | ErrInto::new(self) |
693 | 0 | } Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::err_into::<_> Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::err_into::<_> |
694 | | |
695 | | /// Recover from an error by skipping everything `recover` consumes and trying again |
696 | | /// |
697 | | /// If `recover` consumes nothing, the error is returned, allowing an alternative recovery |
698 | | /// method. |
699 | | /// |
700 | | /// This commits the parse result, preventing alternative branch paths like with |
701 | | /// [`winnow::combinator::alt`][crate::combinator::alt]. |
702 | | #[inline(always)] |
703 | | #[cfg(feature = "unstable-recover")] |
704 | | #[cfg(feature = "std")] |
705 | | fn retry_after<R>(self, recover: R) -> RetryAfter<Self, R, I, O, E> |
706 | | where |
707 | | Self: core::marker::Sized, |
708 | | R: Parser<I, (), E>, |
709 | | I: Stream, |
710 | | I: Recover<E>, |
711 | | E: FromRecoverableError<I, E>, |
712 | | { |
713 | | RetryAfter::new(self, recover) |
714 | | } |
715 | | |
716 | | /// Recover from an error by skipping this parse and everything `recover` consumes |
717 | | /// |
718 | | /// This commits the parse result, preventing alternative branch paths like with |
719 | | /// [`winnow::combinator::alt`][crate::combinator::alt]. |
720 | | #[inline(always)] |
721 | | #[cfg(feature = "unstable-recover")] |
722 | | #[cfg(feature = "std")] |
723 | | fn resume_after<R>(self, recover: R) -> ResumeAfter<Self, R, I, O, E> |
724 | | where |
725 | | Self: core::marker::Sized, |
726 | | R: Parser<I, (), E>, |
727 | | I: Stream, |
728 | | I: Recover<E>, |
729 | | E: FromRecoverableError<I, E>, |
730 | | { |
731 | | ResumeAfter::new(self, recover) |
732 | | } |
733 | | } |
734 | | |
735 | | impl<'a, I, O, E, F> Parser<I, O, E> for F |
736 | | where |
737 | | F: FnMut(&mut I) -> PResult<O, E> + 'a, |
738 | | I: Stream, |
739 | | { |
740 | | #[inline(always)] |
741 | 971M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { |
742 | 971M | self(i) |
743 | 971M | } <gix_ref::store_impl::packed::decode::header<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::decode::Header, ()>>::parse_next Line | Count | Source | 741 | 19 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 19 | self(i) | 743 | 19 | } |
<gix_ref::store_impl::packed::decode::reference<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::Reference, ()>>::parse_next Line | Count | Source | 741 | 594k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 594k | self(i) | 743 | 594k | } |
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], gix_ref::store_impl::packed::decode::Header, &[u8], (), gix_ref::store_impl::packed::decode::header<()>, winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ContextError, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 609k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 609k | self(i) | 743 | 609k | } |
Unexecuted instantiation: <gix_ref::parse::newline<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 4.26k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.26k | self(i) | 743 | 4.26k | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next <winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 594k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 594k | self(i) | 743 | 594k | } |
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next <gix_ref::parse::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 609k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 609k | self(i) | 743 | 609k | } |
Unexecuted instantiation: <gix_ref::parse::hex_hash<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next <gix_ref::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.12M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.12M | self(i) | 743 | 1.12M | } |
Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 594k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 594k | self(i) | 743 | 594k | } |
<winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 594k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 594k | self(i) | 743 | 594k | } |
<winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 4.94k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.94k | self(i) | 743 | 4.94k | } |
Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next <winnow::token::literal<&[u8; 18], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 19 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 19 | self(i) | 743 | 19 | } |
<winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.89M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.89M | self(i) | 743 | 1.89M | } |
Unexecuted instantiation: <winnow::token::literal<&str, &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next <winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, ()>>::parse_next Line | Count | Source | 741 | 4.94k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.94k | self(i) | 743 | 4.94k | } |
<winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 16.8k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 16.8k | self(i) | 743 | 16.8k | } |
<winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 7.37k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 7.37k | self(i) | 743 | 7.37k | } |
<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 4.26k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.26k | self(i) | 743 | 4.26k | } |
<gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 47.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 47.7k | self(i) | 743 | 47.7k | } |
<gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 9.32k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 9.32k | self(i) | 743 | 9.32k | } |
Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.12M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.12M | self(i) | 743 | 1.12M | } |
<winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 29.3k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 29.3k | self(i) | 743 | 29.3k | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Line | Count | Source | 741 | 594k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 594k | self(i) | 743 | 594k | } |
<winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 16.8k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 16.8k | self(i) | 743 | 16.8k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 594k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 594k | self(i) | 743 | 594k | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 4.94k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.94k | self(i) | 743 | 4.94k | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.11M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.11M | self(i) | 743 | 1.11M | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 19 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 19 | self(i) | 743 | 19 | } |
<<winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 4.26k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.26k | self(i) | 743 | 4.26k | } |
<<winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 47.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 47.7k | self(i) | 743 | 47.7k | } |
<<winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 9.32k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 9.32k | self(i) | 743 | 9.32k | } |
<<winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 519k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 519k | self(i) | 743 | 519k | } |
<<winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next Line | Count | Source | 741 | 463k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 463k | self(i) | 743 | 463k | } |
Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 609k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 609k | self(i) | 743 | 609k | } |
Unexecuted instantiation: <gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, ()>>::parse_next Unexecuted instantiation: <gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 4.38k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.38k | self(i) | 743 | 4.38k | } |
Unexecuted instantiation: <gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, ()>>::parse_next Line | Count | Source | 741 | 47.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 47.7k | self(i) | 743 | 47.7k | } |
Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::subject_and_body<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 36.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 36.7k | self(i) | 743 | 36.7k | } |
Unexecuted instantiation: <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <winnow::token::take<usize, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 35.3k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 35.3k | self(i) | 743 | 35.3k | } |
<winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 38.0k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 38.0k | self(i) | 743 | 38.0k | } |
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#5} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 19.2k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 19.2k | self(i) | 743 | 19.2k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 16.8k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 16.8k | self(i) | 743 | 16.8k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 23.5k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 23.5k | self(i) | 743 | 23.5k | } |
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 33.2k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 33.2k | self(i) | 743 | 33.2k | } |
Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next <winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next Line | Count | Source | 741 | 25.5k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 25.5k | self(i) | 743 | 25.5k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 36.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 36.7k | self(i) | 743 | 36.7k | } |
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next Line | Count | Source | 741 | 47.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 47.7k | self(i) | 743 | 47.7k | } |
Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#7} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next Line | Count | Source | 741 | 19.2k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 19.2k | self(i) | 743 | 19.2k | } |
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next Line | Count | Source | 741 | 23.5k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 23.5k | self(i) | 743 | 23.5k | } |
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i64, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i64, ()>>::parse_next Line | Count | Source | 741 | 36.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 36.7k | self(i) | 743 | 36.7k | } |
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0}, &[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next <<winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next Line | Count | Source | 741 | 25.5k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 25.5k | self(i) | 743 | 25.5k | } |
<<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next Line | Count | Source | 741 | 47.7k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 47.7k | self(i) | 743 | 47.7k | } |
Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>), &[u8], (&[u8], bstr::bstring::BString), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::token::take_till<gix_object::commit::message::decode::subject_and_body<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], (), (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next <winnow::combinator::core::eof<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 7.37k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 7.37k | self(i) | 743 | 7.37k | } |
<winnow::combinator::core::rest<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 4.38k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.38k | self(i) | 743 | 4.38k | } |
Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], (), gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_next <gix_config::parse::nom::take_newlines1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 39.7M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 39.7M | self(i) | 743 | 39.7M | } |
<gix_config::parse::nom::subsection_unescaped as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.89M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.89M | self(i) | 743 | 1.89M | } |
<gix_config::parse::nom::subsection_escaped_char as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.22M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.22M | self(i) | 743 | 1.22M | } |
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 91.1M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 91.1M | self(i) | 743 | 91.1M | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>, (winnow::combinator::parser::Map<gix_config::parse::nom::comment, gix_config::parse::Event::Comment, &[u8], gix_config::parse::Comment, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<gix_config::parse::nom::take_spaces1, gix_config::parse::nom::from_bytes::{closure#0}, &[u8], &bstr::bstr::BStr, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, gix_config::parse::nom::from_bytes::{closure#1})>::{closure#0}, &[u8], gix_config::parse::Event, (), winnow::error::InputError<&[u8]>>>::fold<gix_config::parse::nom::from_bytes::{closure#2}, gix_config::parse::nom::from_bytes::{closure#3}, ()>::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 20.0k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 20.0k | self(i) | 743 | 20.0k | } |
<winnow::token::take_while<gix_config::parse::nom::value_impl::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.98M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.98M | self(i) | 743 | 1.98M | } |
<winnow::token::take_while<gix_config::parse::nom::is_subsection_unescaped_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.89M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.89M | self(i) | 743 | 1.89M | } |
<winnow::combinator::core::opt<&[u8], &[u8], winnow::error::InputError<&[u8]>, gix_config::parse::nom::subsection_subset>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.89M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.89M | self(i) | 743 | 1.89M | } |
<winnow::combinator::core::opt<&[u8], gix_config::parse::Comment, winnow::error::InputError<&[u8]>, gix_config::parse::nom::comment>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_config::parse::Comment>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 36.0M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 36.0M | self(i) | 743 | 36.0M | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, gix_config::parse::nom::config_name>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 36.0M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 36.0M | self(i) | 743 | 36.0M | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, gix_config::parse::nom::take_spaces1>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 51.8M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 51.8M | self(i) | 743 | 51.8M | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, gix_config::parse::nom::take_newlines1>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 36.0M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 36.0M | self(i) | 743 | 36.0M | } |
<winnow::combinator::core::opt<&[u8], char, winnow::error::InputError<&[u8]>, char>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<char>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 14.9M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 14.9M | self(i) | 743 | 14.9M | } |
<winnow::combinator::core::opt<&[u8], u8, winnow::error::InputError<&[u8]>, winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], char, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 10.7M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 10.7M | self(i) | 743 | 10.7M | } |
<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (gix_config::parse::nom::subsection_unescaped, gix_config::parse::nom::subsection_escaped_char)>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.89M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.89M | self(i) | 743 | 1.89M | } |
<winnow::combinator::sequence::preceded<&[u8], char, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::parser::Take<winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::is_subsection_escapable_char, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, &[u8], u8, winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.22M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.22M | self(i) | 743 | 1.22M | } |
<winnow::combinator::sequence::preceded<&[u8], char, &bstr::bstr::BStr, winnow::error::InputError<&[u8]>, char, winnow::combinator::parser::Map<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 10.8M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 10.8M | self(i) | 743 | 10.8M | } |
<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], u8, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 91.1M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 91.1M | self(i) | 743 | 91.1M | } |
<winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 14.9M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 14.9M | self(i) | 743 | 14.9M | } |
<winnow::token::take_while<gix_config::parse::nom::is_section_char, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 10.7M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 10.7M | self(i) | 743 | 10.7M | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_space, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 56.0M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 56.0M | self(i) | 743 | 56.0M | } |
<winnow::token::literal<char, &[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 27.4M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 27.4M | self(i) | 743 | 27.4M | } |
<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 8.75M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 8.75M | self(i) | 743 | 8.75M | } |
<winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0}, &str>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 398k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 398k | self(i) | 743 | 398k | } |
<gix_config::parse::nom::from_bytes::{closure#1} as winnow::parser::Parser<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 3.68M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 3.68M | self(i) | 743 | 3.68M | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0}, &[u8], &[u8], (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 39.7M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 39.7M | self(i) | 743 | 39.7M | } |
<<winnow::combinator::multi::Repeat<gix_config::parse::nom::from_bytes::{closure#4}, &[u8], (), (), winnow::error::InputError<&[u8]>> as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 12.9k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 12.9k | self(i) | 743 | 12.9k | } |
<gix_config::parse::nom::take_spaces1 as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 56.0M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 56.0M | self(i) | 743 | 56.0M | } |
<gix_config::parse::nom::comment as winnow::parser::Parser<&[u8], gix_config::parse::Comment, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 43.4M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 43.4M | self(i) | 743 | 43.4M | } |
<winnow::token::literal<&str, &[u8], winnow::error::InputError<&[u8]>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 125M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 125M | self(i) | 743 | 125M | } |
<gix_config::parse::nom::config_name as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 36.0M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 36.0M | self(i) | 743 | 36.0M | } |
<gix_config::parse::nom::sub_section as winnow::parser::Parser<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 398k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 398k | self(i) | 743 | 398k | } |
<gix_config::parse::nom::subsection_subset as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 1.89M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.89M | self(i) | 743 | 1.89M | } |
<winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 398k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 398k | self(i) | 743 | 398k | } |
<winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::InputError<&[u8]>, (&str, &str)>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 64.5M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 64.5M | self(i) | 743 | 64.5M | } |
<winnow::combinator::branch::alt<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>, (winnow::combinator::parser::Map<gix_config::parse::nom::comment, gix_config::parse::Event::Comment, &[u8], gix_config::parse::Comment, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<gix_config::parse::nom::take_spaces1, gix_config::parse::nom::from_bytes::{closure#0}, &[u8], &bstr::bstr::BStr, gix_config::parse::Event, winnow::error::InputError<&[u8]>>, gix_config::parse::nom::from_bytes::{closure#1})>::{closure#0} as winnow::parser::Parser<&[u8], gix_config::parse::Event, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 7.39M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 7.39M | self(i) | 743 | 7.39M | } |
<gix_config::parse::nom::from_bytes::{closure#4} as winnow::parser::Parser<&[u8], (), winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 741 | 10.8M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 10.8M | self(i) | 743 | 10.8M | } |
Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::packed::decode::until_newline<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_actor::signature::decode::function::decode<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::file::log::line::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], winnow::error::ContextError, core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<u8, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<&[u8]>, winnow::error::ContextError, winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], core::option::Option<u8>, (), winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, core::option::Option<&[u8]>, winnow::error::ContextError, gix_ref::parse::hex_hash<winnow::error::ContextError>, winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8; 18], gix_ref::store_impl::packed::decode::until_newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::packed::decode::header<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::decode::Header, ()>>::parse_next Unexecuted instantiation: <gix_ref::store_impl::packed::decode::reference<()> as winnow::parser::Parser<&[u8], gix_ref::store_impl::packed::Reference, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], gix_ref::store_impl::packed::decode::Header, &[u8], (), gix_ref::store_impl::packed::decode::header<()>, winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], winnow::error::ContextError, (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 2], &[u8; 1])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_ref::parse::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_ref::parse::hex_hash<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <gix_ref::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::packed::decode::until_newline<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::log::line::decode::message<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_ref::store_impl::file::loose::reference::decode::parse::{closure#0}, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 18], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<&str, &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], winnow::error::ContextError, gix_ref::parse::newline<winnow::error::ContextError>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], u8, (), u8>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<u8>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_ref::parse::newline<winnow::error::ContextError> as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], winnow::error::ContextError, &str, winnow::token::take_while<u8, &[u8], winnow::error::ContextError, core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], winnow::error::ContextError>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], winnow::error::ContextError>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#7} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i64, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i64, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0}, &[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<winnow::combinator::parser::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>), &[u8], (&[u8], bstr::bstring::BString), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::rest<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::subject_and_body<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::token::take<usize, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Unexecuted instantiation: <gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, ()>>::parse_next Unexecuted instantiation: <gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, ()>>::parse_next Unexecuted instantiation: <gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, ()>>::parse_next Unexecuted instantiation: <winnow::token::take_till<gix_object::commit::message::decode::subject_and_body<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], (), (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <<gix_object::CommitRefIter>::next_inner_::{closure#5} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], (), gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <_ as winnow::parser::Parser<_, _, _>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::separated_pair<&[u8], &[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8; 2], winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <winnow::token::take_till<gix_object::commit::message::decode::subject_and_body<()>::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::branch::alt<&[u8], &[u8], (), (&[u8; 1], &[u8; 2])>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Unexecuted instantiation: <winnow::combinator::sequence::preceded<&[u8], (&[u8], &[u8]), &[u8], (), (gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>), winnow::combinator::core::rest<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <winnow::token::literal<&[u8], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 5.43M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.43M | self(i) | 743 | 5.43M | } |
<winnow::combinator::core::eof<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.75k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.75k | self(i) | 743 | 1.75k | } |
<winnow::combinator::core::rest<&[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.73k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.73k | self(i) | 743 | 1.73k | } |
<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 521k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 521k | self(i) | 743 | 521k | } |
<gix_object::tag::decode::git_tag<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 1.67k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.67k | self(i) | 743 | 1.67k | } |
<gix_object::commit::decode::commit<()>::{closure#5} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 731 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 731 | self(i) | 743 | 731 | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 720 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 720 | self(i) | 743 | 720 | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 5.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.06k | self(i) | 743 | 5.06k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 1.65k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.65k | self(i) | 743 | 1.65k | } |
<gix_object::parse::any_header_field_multi_line<()> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Line | Count | Source | 741 | 521k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 521k | self(i) | 743 | 521k | } |
<winnow::combinator::core::rest<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.73k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.73k | self(i) | 743 | 1.73k | } |
<winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 94.1k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 94.1k | self(i) | 743 | 94.1k | } |
<winnow::token::take_while<gix_object::parse::is_hex_digit_lc, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 14.3k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 14.3k | self(i) | 743 | 14.3k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 4.03k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.03k | self(i) | 743 | 4.03k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 3.88k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 3.88k | self(i) | 743 | 3.88k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 4.19k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.19k | self(i) | 743 | 4.19k | } |
<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 8.56k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 8.56k | self(i) | 743 | 8.56k | } |
<winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 4.12M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.12M | self(i) | 743 | 4.12M | } |
<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Line | Count | Source | 741 | 731 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 731 | self(i) | 743 | 731 | } |
<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Line | Count | Source | 741 | 720 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 720 | self(i) | 743 | 720 | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Line | Count | Source | 741 | 1.67k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.67k | self(i) | 743 | 1.67k | } |
<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Line | Count | Source | 741 | 1.65k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.65k | self(i) | 743 | 1.65k | } |
<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Line | Count | Source | 741 | 5.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.06k | self(i) | 743 | 5.06k | } |
<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Line | Count | Source | 741 | 521k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 521k | self(i) | 743 | 521k | } |
<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next Line | Count | Source | 741 | 4.35k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.35k | self(i) | 743 | 4.35k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 5.22k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.22k | self(i) | 743 | 5.22k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 2.06M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.06M | self(i) | 743 | 2.06M | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.14k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.14k | self(i) | 743 | 1.14k | } |
<winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 2.74k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.74k | self(i) | 743 | 2.74k | } |
<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next Line | Count | Source | 741 | 7.66k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 7.66k | self(i) | 743 | 7.66k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 834 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 834 | self(i) | 743 | 834 | } |
<winnow::combinator::sequence::delimited<&[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), core::option::Option<&[u8]>, (), &[u8], winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0}, winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 2.72k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.72k | self(i) | 743 | 2.72k | } |
<gix_object::tag::decode::git_tag<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.99k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.99k | self(i) | 743 | 1.99k | } |
<gix_object::tag::decode::git_tag<()>::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<gix_object::tag::decode::git_tag<()>::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.90k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.90k | self(i) | 743 | 1.90k | } |
<gix_object::commit::decode::commit<()>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 2.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.06k | self(i) | 743 | 2.06k | } |
<gix_object::commit::decode::commit<()>::{closure#3} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 1.97k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.97k | self(i) | 743 | 1.97k | } |
<gix_object::commit::decode::commit<()>::{closure#4} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 849 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 849 | self(i) | 743 | 849 | } |
<gix_object::commit::decode::commit<()>::{closure#7} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 509k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 509k | self(i) | 743 | 509k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 2.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.06k | self(i) | 743 | 2.06k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#2} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 2.78k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.78k | self(i) | 743 | 2.78k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.99k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.99k | self(i) | 743 | 1.99k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#3} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<<gix_object::TagRefIter>::next_inner_::{closure#1} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.90k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.90k | self(i) | 743 | 1.90k | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Line | Count | Source | 741 | 731 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 731 | self(i) | 743 | 731 | } |
<<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()> as winnow::parser::Parser<&[u8], (), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (), ()>>::parse_next Line | Count | Source | 741 | 1.04M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.04M | self(i) | 743 | 1.04M | } |
<<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next Line | Count | Source | 741 | 1.97k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.97k | self(i) | 743 | 1.97k | } |
<<winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<&bstr::bstr::BStr>, ()>>::parse_next Line | Count | Source | 741 | 1.97k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.97k | self(i) | 743 | 1.97k | } |
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next Line | Count | Source | 741 | 4.03k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.03k | self(i) | 743 | 4.03k | } |
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i32, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i32, ()>>::parse_next Line | Count | Source | 741 | 4.19k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.19k | self(i) | 743 | 4.19k | } |
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], i64, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], i64, ()>>::parse_next Line | Count | Source | 741 | 5.22k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.22k | self(i) | 743 | 5.22k | } |
<<winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_object::Kind, ()>>::parse_next Line | Count | Source | 741 | 1.90k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.90k | self(i) | 743 | 1.90k | } |
<<winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Line | Count | Source | 741 | 731 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 731 | self(i) | 743 | 731 | } |
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Line | Count | Source | 741 | 731 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 731 | self(i) | 743 | 731 | } |
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), <gix_object::CommitRefIter>::next_inner_::{closure#3}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Line | Count | Source | 741 | 720 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 720 | self(i) | 743 | 720 | } |
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Line | Count | Source | 741 | 1.67k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.67k | self(i) | 743 | 1.67k | } |
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), <gix_object::TagRefIter>::next_inner_::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<gix_actor::SignatureRef>, ()>>::parse_next Line | Count | Source | 741 | 1.65k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.65k | self(i) | 743 | 1.65k | } |
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), <gix_object::CommitRefIter>::next_inner_::{closure#1}>::{closure#0}, &[u8], core::option::Option<&bstr::bstr::BStr>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Line | Count | Source | 741 | 5.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.06k | self(i) | 743 | 5.06k | } |
<<winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (<gix_object::CommitRefIter>::next_inner_::{closure#4}, <gix_object::CommitRefIter>::next_inner_::{closure#5})>::{closure#0}>::{closure#0}, &[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>>::parse_next Line | Count | Source | 741 | 521k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 521k | self(i) | 743 | 521k | } |
<<winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_date::time::Sign, ()>>::parse_next Line | Count | Source | 741 | 4.35k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 4.35k | self(i) | 743 | 4.35k | } |
<<winnow::combinator::parser::Context<winnow::combinator::sequence::separated_pair<&[u8], gix_actor::IdentityRef, &[u8], gix_date::Time, (), gix_actor::signature::decode::function::identity<()>, &[u8; 1], winnow::combinator::parser::Map<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>), gix_actor::signature::decode::function::decode<()>::{closure#6}, &[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), gix_date::Time, ()>>::{closure#0}, &[u8], (gix_actor::IdentityRef, gix_date::Time), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (gix_actor::IdentityRef, gix_date::Time), ()>>::parse_next Line | Count | Source | 741 | 7.66k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 7.66k | self(i) | 743 | 7.66k | } |
<<winnow::combinator::parser::Context<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, <[u8] as bstr::ext_slice::ByteSlice>::as_bstr, &[u8], &[u8], &bstr::bstr::BStr, ()>>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 834 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 834 | self(i) | 743 | 834 | } |
<<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.99k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.99k | self(i) | 743 | 1.99k | } |
<<winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 2.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.06k | self(i) | 743 | 2.06k | } |
<<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 1.97k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.97k | self(i) | 743 | 1.97k | } |
<<winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 849 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 849 | self(i) | 743 | 849 | } |
<<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 2.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.06k | self(i) | 743 | 2.06k | } |
<<winnow::combinator::parser::Context<<gix_object::CommitRefIter>::next_inner_::{closure#2}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 2.78k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.78k | self(i) | 743 | 2.78k | } |
<<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.99k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.99k | self(i) | 743 | 1.99k | } |
<<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<<winnow::combinator::parser::Context<<gix_object::TagRefIter>::next_inner_::{closure#1}, &[u8], &[u8], (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.90k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.90k | self(i) | 743 | 1.90k | } |
<<winnow::combinator::parser::Context<(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>), &[u8], (&[u8], bstr::bstring::BString), (), winnow::error::StrContext> as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Line | Count | Source | 741 | 1.04M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.04M | self(i) | 743 | 1.04M | } |
<winnow::token::literal<&[u8; 1], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 6.29k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 6.29k | self(i) | 743 | 6.29k | } |
Unexecuted instantiation: <winnow::token::literal<&[u8; 2], &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 3.81k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 3.81k | self(i) | 743 | 3.81k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.45k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.45k | self(i) | 743 | 1.45k | } |
<winnow::combinator::sequence::terminated<&[u8], gix_actor::SignatureRef, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 8.93k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 8.93k | self(i) | 743 | 8.93k | } |
<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0}, &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 18.2k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 18.2k | self(i) | 743 | 18.2k | } |
<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Line | Count | Source | 741 | 1.01M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.01M | self(i) | 743 | 1.01M | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), &[u8], (), gix_object::commit::message::body::parse_single_line_trailer<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next <gix_object::parse::hex_hash<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 14.3k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 14.3k | self(i) | 743 | 14.3k | } |
<gix_object::parse::signature<()> as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 7.66k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 7.66k | self(i) | 743 | 7.66k | } |
<winnow::combinator::core::eof<&[u8], ()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.75k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.75k | self(i) | 743 | 1.75k | } |
<gix_object::tag::decode::message<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 2.74k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.74k | self(i) | 743 | 2.74k | } |
<gix_object::commit::decode::message<()> as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 1.14k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.14k | self(i) | 743 | 1.14k | } |
<gix_actor::signature::decode::function::identity<()> as winnow::parser::Parser<&[u8], gix_actor::IdentityRef, ()>>::parse_next Line | Count | Source | 741 | 7.66k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 7.66k | self(i) | 743 | 7.66k | } |
Unexecuted instantiation: <gix_object::commit::message::body::parse_single_line_trailer<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::subject_and_body<()> as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <gix_object::commit::message::decode::newline<()> as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next <winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.70k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.70k | self(i) | 743 | 1.70k | } |
<winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.70k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.70k | self(i) | 743 | 1.70k | } |
<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 3.79k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 3.79k | self(i) | 743 | 3.79k | } |
<winnow::token::take<usize, &[u8], ()>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 5.09k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.09k | self(i) | 743 | 5.09k | } |
<winnow::combinator::core::opt<&[u8], &[u8], (), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&[u8]>, ()>>::parse_next Line | Count | Source | 741 | 1.46k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.46k | self(i) | 743 | 1.46k | } |
<winnow::combinator::branch::alt<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), (), ((winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}), winnow::combinator::parser::Map<winnow::combinator::core::rest<&[u8], ()>, gix_object::tag::decode::message<()>::{closure#1}, &[u8], &[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>)>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 1.46k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.46k | self(i) | 743 | 1.46k | } |
<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 35.8k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 35.8k | self(i) | 743 | 35.8k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<gix_object::tag::decode::git_tag<()>::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<gix_object::TagRefIter>::next_inner_::{closure#3}::{closure#0}, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.71k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.71k | self(i) | 743 | 1.71k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_alpha, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 3.81k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 3.81k | self(i) | 743 | 3.81k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &[u8], (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}>::{closure#0} as winnow::parser::Parser<&[u8], &[u8], ()>>::parse_next Line | Count | Source | 741 | 1.45k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.45k | self(i) | 743 | 1.45k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], gix_actor::SignatureRef, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::signature<()>>::{closure#0} as winnow::parser::Parser<&[u8], gix_actor::SignatureRef, ()>>::parse_next Line | Count | Source | 741 | 8.93k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 8.93k | self(i) | 743 | 8.93k | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), &[u8], &[u8]>::{closure#0}, gix_object::parse::hex_hash<()>>::{closure#0} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 18.2k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 18.2k | self(i) | 743 | 18.2k | } |
<gix_object::tag::decode::git_tag<()> as winnow::parser::Parser<&[u8], gix_object::TagRef, ()>>::parse_next Line | Count | Source | 741 | 1.99k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.99k | self(i) | 743 | 1.99k | } |
<gix_object::commit::decode::commit<()> as winnow::parser::Parser<&[u8], gix_object::CommitRef, ()>>::parse_next Line | Count | Source | 741 | 2.06k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 2.06k | self(i) | 743 | 2.06k | } |
<gix_object::tree::ref_iter::decode::tree<()> as winnow::parser::Parser<&[u8], gix_object::TreeRef, ()>>::parse_next Line | Count | Source | 741 | 701 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 701 | self(i) | 743 | 701 | } |
<winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0} as winnow::parser::Parser<&[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::parse_next Line | Count | Source | 741 | 378 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 378 | self(i) | 743 | 378 | } |
Unexecuted instantiation: <winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::commit::message::decode::subject_and_body<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next <winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 521k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 521k | self(i) | 743 | 521k | } |
<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0} as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Line | Count | Source | 741 | 1.12M | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 1.12M | self(i) | 743 | 1.12M | } |
<gix_object::commit::decode::commit<()>::{closure#1} as winnow::parser::Parser<&[u8], &bstr::bstr::BStr, ()>>::parse_next Line | Count | Source | 741 | 5.10k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 5.10k | self(i) | 743 | 5.10k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#4} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 521k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 521k | self(i) | 743 | 521k | } |
<<gix_object::CommitRefIter>::next_inner_::{closure#5} as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 741 | 508k | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { | 742 | 508k | self(i) | 743 | 508k | } |
|
744 | | } |
745 | | |
746 | | /// This is a shortcut for [`one_of`][crate::token::one_of]. |
747 | | /// |
748 | | /// # Example |
749 | | /// |
750 | | /// ``` |
751 | | /// # use winnow::prelude::*; |
752 | | /// # use winnow::{error::ErrMode, error::{ErrorKind, InputError}}; |
753 | | /// fn parser<'s>(i: &mut &'s [u8]) -> PResult<u8, InputError<&'s [u8]>> { |
754 | | /// b'a'.parse_next(i) |
755 | | /// } |
756 | | /// assert_eq!(parser.parse_peek(&b"abc"[..]), Ok((&b"bc"[..], b'a'))); |
757 | | /// assert_eq!(parser.parse_peek(&b" abc"[..]), Err(ErrMode::Backtrack(InputError::new(&b" abc"[..], ErrorKind::Tag)))); |
758 | | /// assert_eq!(parser.parse_peek(&b"bc"[..]), Err(ErrMode::Backtrack(InputError::new(&b"bc"[..], ErrorKind::Tag)))); |
759 | | /// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Tag)))); |
760 | | /// ``` |
761 | | impl<I, E> Parser<I, u8, E> for u8 |
762 | | where |
763 | | I: StreamIsPartial, |
764 | | I: Stream, |
765 | | I: Compare<u8>, |
766 | | E: ParserError<I>, |
767 | | { |
768 | | #[inline(always)] |
769 | 29.3k | fn parse_next(&mut self, i: &mut I) -> PResult<u8, E> { |
770 | 29.3k | crate::token::literal(*self).value(*self).parse_next(i) |
771 | 29.3k | } <u8 as winnow::parser::Parser<&[u8], u8, ()>>::parse_next Line | Count | Source | 769 | 29.3k | fn parse_next(&mut self, i: &mut I) -> PResult<u8, E> { | 770 | 29.3k | crate::token::literal(*self).value(*self).parse_next(i) | 771 | 29.3k | } |
Unexecuted instantiation: <u8 as winnow::parser::Parser<_, u8, _>>::parse_next Unexecuted instantiation: <u8 as winnow::parser::Parser<&[u8], u8, ()>>::parse_next Unexecuted instantiation: <u8 as winnow::parser::Parser<_, u8, _>>::parse_next |
772 | | } |
773 | | |
774 | | /// This is a shortcut for [`one_of`][crate::token::one_of]. |
775 | | /// |
776 | | /// # Example |
777 | | /// |
778 | | /// ``` |
779 | | /// # use winnow::prelude::*; |
780 | | /// # use winnow::{error::ErrMode, error::{ErrorKind, InputError}}; |
781 | | /// fn parser<'s>(i: &mut &'s str) -> PResult<char, InputError<&'s str>> { |
782 | | /// 'a'.parse_next(i) |
783 | | /// } |
784 | | /// assert_eq!(parser.parse_peek("abc"), Ok(("bc", 'a'))); |
785 | | /// assert_eq!(parser.parse_peek(" abc"), Err(ErrMode::Backtrack(InputError::new(" abc", ErrorKind::Tag)))); |
786 | | /// assert_eq!(parser.parse_peek("bc"), Err(ErrMode::Backtrack(InputError::new("bc", ErrorKind::Tag)))); |
787 | | /// assert_eq!(parser.parse_peek(""), Err(ErrMode::Backtrack(InputError::new("", ErrorKind::Tag)))); |
788 | | /// ``` |
789 | | impl<I, E> Parser<I, char, E> for char |
790 | | where |
791 | | I: StreamIsPartial, |
792 | | I: Stream, |
793 | | I: Compare<char>, |
794 | | E: ParserError<I>, |
795 | | { |
796 | | #[inline(always)] |
797 | 27.4M | fn parse_next(&mut self, i: &mut I) -> PResult<char, E> { |
798 | 27.4M | crate::token::literal(*self).value(*self).parse_next(i) |
799 | 27.4M | } Unexecuted instantiation: <char as winnow::parser::Parser<_, char, _>>::parse_next <char as winnow::parser::Parser<&[u8], char, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 797 | 27.4M | fn parse_next(&mut self, i: &mut I) -> PResult<char, E> { | 798 | 27.4M | crate::token::literal(*self).value(*self).parse_next(i) | 799 | 27.4M | } |
Unexecuted instantiation: <char as winnow::parser::Parser<_, char, _>>::parse_next |
800 | | } |
801 | | |
802 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
803 | | /// |
804 | | /// # Example |
805 | | /// ```rust |
806 | | /// # use winnow::prelude::*; |
807 | | /// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed}; |
808 | | /// # use winnow::combinator::alt; |
809 | | /// # use winnow::token::take; |
810 | | /// |
811 | | /// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> { |
812 | | /// alt((&"Hello"[..], take(5usize))).parse_next(s) |
813 | | /// } |
814 | | /// |
815 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
816 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
817 | | /// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice)))); |
818 | | /// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice)))); |
819 | | /// ``` |
820 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for &'s [u8] |
821 | | where |
822 | | I: Compare<&'s [u8]> + StreamIsPartial, |
823 | | I: Stream, |
824 | | { |
825 | | #[inline(always)] |
826 | 5.43M | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { |
827 | 5.43M | crate::token::literal(*self).parse_next(i) |
828 | 5.43M | } Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next Unexecuted instantiation: <&[u8] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next <&[u8] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Line | Count | Source | 826 | 5.43M | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { | 827 | 5.43M | crate::token::literal(*self).parse_next(i) | 828 | 5.43M | } |
|
829 | | } |
830 | | |
831 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
832 | | /// |
833 | | /// # Example |
834 | | /// ```rust |
835 | | /// # use winnow::prelude::*; |
836 | | /// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed}; |
837 | | /// # use winnow::combinator::alt; |
838 | | /// # use winnow::token::take; |
839 | | /// use winnow::ascii::Caseless; |
840 | | /// |
841 | | /// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> { |
842 | | /// alt((Caseless(&"hello"[..]), take(5usize))).parse_next(s) |
843 | | /// } |
844 | | /// |
845 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
846 | | /// assert_eq!(parser.parse_peek(&b"hello, World!"[..]), Ok((&b", World!"[..], &b"hello"[..]))); |
847 | | /// assert_eq!(parser.parse_peek(&b"HeLlo, World!"[..]), Ok((&b", World!"[..], &b"HeLlo"[..]))); |
848 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
849 | | /// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice)))); |
850 | | /// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice)))); |
851 | | /// ``` |
852 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for AsciiCaseless<&'s [u8]> |
853 | | where |
854 | | I: Compare<AsciiCaseless<&'s [u8]>> + StreamIsPartial, |
855 | | I: Stream, |
856 | | { |
857 | | #[inline(always)] |
858 | 0 | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { |
859 | 0 | crate::token::literal(*self).parse_next(i) |
860 | 0 | } Unexecuted instantiation: <winnow::ascii::Caseless<&[u8]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next Unexecuted instantiation: <winnow::ascii::Caseless<&[u8]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next |
861 | | } |
862 | | |
863 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
864 | | /// |
865 | | /// # Example |
866 | | /// ```rust |
867 | | /// # use winnow::prelude::*; |
868 | | /// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed}; |
869 | | /// # use winnow::combinator::alt; |
870 | | /// # use winnow::token::take; |
871 | | /// |
872 | | /// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> { |
873 | | /// alt((b"Hello", take(5usize))).parse_next(s) |
874 | | /// } |
875 | | /// |
876 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
877 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
878 | | /// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice)))); |
879 | | /// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice)))); |
880 | | /// ``` |
881 | | impl<'s, I, E: ParserError<I>, const N: usize> Parser<I, <I as Stream>::Slice, E> for &'s [u8; N] |
882 | | where |
883 | | I: Compare<&'s [u8; N]> + StreamIsPartial, |
884 | | I: Stream, |
885 | | { |
886 | | #[inline(always)] |
887 | 2.55M | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { |
888 | 2.55M | crate::token::literal(*self).parse_next(i) |
889 | 2.55M | } <&[u8; 18] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Line | Count | Source | 887 | 19 | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { | 888 | 19 | crate::token::literal(*self).parse_next(i) | 889 | 19 | } |
<&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Line | Count | Source | 887 | 1.89M | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { | 888 | 1.89M | crate::token::literal(*self).parse_next(i) | 889 | 1.89M | } |
Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Line | Count | Source | 887 | 609k | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { | 888 | 609k | crate::token::literal(*self).parse_next(i) | 889 | 609k | } |
<&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Line | Count | Source | 887 | 38.0k | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { | 888 | 38.0k | crate::token::literal(*self).parse_next(i) | 889 | 38.0k | } |
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8; _] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next Unexecuted instantiation: <&[u8; 18] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Unexecuted instantiation: <&[u8; _] as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next <&[u8; 1] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next Line | Count | Source | 887 | 6.29k | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { | 888 | 6.29k | crate::token::literal(*self).parse_next(i) | 889 | 6.29k | } |
Unexecuted instantiation: <&[u8; 2] as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, ()>>::parse_next |
890 | | } |
891 | | |
892 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
893 | | /// |
894 | | /// # Example |
895 | | /// ```rust |
896 | | /// # use winnow::prelude::*; |
897 | | /// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}, error::Needed}; |
898 | | /// # use winnow::combinator::alt; |
899 | | /// # use winnow::token::take; |
900 | | /// use winnow::ascii::Caseless; |
901 | | /// |
902 | | /// fn parser<'s>(s: &mut &'s [u8]) -> PResult<&'s [u8], InputError<&'s [u8]>> { |
903 | | /// alt((Caseless(b"hello"), take(5usize))).parse_next(s) |
904 | | /// } |
905 | | /// |
906 | | /// assert_eq!(parser.parse_peek(&b"Hello, World!"[..]), Ok((&b", World!"[..], &b"Hello"[..]))); |
907 | | /// assert_eq!(parser.parse_peek(&b"hello, World!"[..]), Ok((&b", World!"[..], &b"hello"[..]))); |
908 | | /// assert_eq!(parser.parse_peek(&b"HeLlo, World!"[..]), Ok((&b", World!"[..], &b"HeLlo"[..]))); |
909 | | /// assert_eq!(parser.parse_peek(&b"Something"[..]), Ok((&b"hing"[..], &b"Somet"[..]))); |
910 | | /// assert_eq!(parser.parse_peek(&b"Some"[..]), Err(ErrMode::Backtrack(InputError::new(&b"Some"[..], ErrorKind::Slice)))); |
911 | | /// assert_eq!(parser.parse_peek(&b""[..]), Err(ErrMode::Backtrack(InputError::new(&b""[..], ErrorKind::Slice)))); |
912 | | /// ``` |
913 | | impl<'s, I, E: ParserError<I>, const N: usize> Parser<I, <I as Stream>::Slice, E> |
914 | | for AsciiCaseless<&'s [u8; N]> |
915 | | where |
916 | | I: Compare<AsciiCaseless<&'s [u8; N]>> + StreamIsPartial, |
917 | | I: Stream, |
918 | | { |
919 | | #[inline(always)] |
920 | 0 | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { |
921 | 0 | crate::token::literal(*self).parse_next(i) |
922 | 0 | } Unexecuted instantiation: <winnow::ascii::Caseless<&[u8; _]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next Unexecuted instantiation: <winnow::ascii::Caseless<&[u8; _]> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next |
923 | | } |
924 | | |
925 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
926 | | /// |
927 | | /// # Example |
928 | | /// ```rust |
929 | | /// # use winnow::prelude::*; |
930 | | /// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}}; |
931 | | /// # use winnow::combinator::alt; |
932 | | /// # use winnow::token::take; |
933 | | /// |
934 | | /// fn parser<'s>(s: &mut &'s str) -> PResult<&'s str, InputError<&'s str>> { |
935 | | /// alt(("Hello", take(5usize))).parse_next(s) |
936 | | /// } |
937 | | /// |
938 | | /// assert_eq!(parser.parse_peek("Hello, World!"), Ok((", World!", "Hello"))); |
939 | | /// assert_eq!(parser.parse_peek("Something"), Ok(("hing", "Somet"))); |
940 | | /// assert_eq!(parser.parse_peek("Some"), Err(ErrMode::Backtrack(InputError::new("Some", ErrorKind::Slice)))); |
941 | | /// assert_eq!(parser.parse_peek(""), Err(ErrMode::Backtrack(InputError::new("", ErrorKind::Slice)))); |
942 | | /// ``` |
943 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for &'s str |
944 | | where |
945 | | I: Compare<&'s str> + StreamIsPartial, |
946 | | I: Stream, |
947 | | { |
948 | | #[inline(always)] |
949 | 125M | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { |
950 | 125M | crate::token::literal(*self).parse_next(i) |
951 | 125M | } Unexecuted instantiation: <&str as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <&str as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next <&str as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 949 | 125M | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { | 950 | 125M | crate::token::literal(*self).parse_next(i) | 951 | 125M | } |
Unexecuted instantiation: <&str as winnow::parser::Parser<&[u8], <&[u8] as winnow::stream::Stream>::Slice, winnow::error::ContextError>>::parse_next Unexecuted instantiation: <&str as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next |
952 | | } |
953 | | |
954 | | /// This is a shortcut for [`literal`][crate::token::literal]. |
955 | | /// |
956 | | /// # Example |
957 | | /// ```rust |
958 | | /// # use winnow::prelude::*; |
959 | | /// # use winnow::{error::ErrMode, error::{InputError, ErrorKind}}; |
960 | | /// # use winnow::combinator::alt; |
961 | | /// # use winnow::token::take; |
962 | | /// # use winnow::ascii::Caseless; |
963 | | /// |
964 | | /// fn parser<'s>(s: &mut &'s str) -> PResult<&'s str, InputError<&'s str>> { |
965 | | /// alt((Caseless("hello"), take(5usize))).parse_next(s) |
966 | | /// } |
967 | | /// |
968 | | /// assert_eq!(parser.parse_peek("Hello, World!"), Ok((", World!", "Hello"))); |
969 | | /// assert_eq!(parser.parse_peek("hello, World!"), Ok((", World!", "hello"))); |
970 | | /// assert_eq!(parser.parse_peek("HeLlo, World!"), Ok((", World!", "HeLlo"))); |
971 | | /// assert_eq!(parser.parse_peek("Something"), Ok(("hing", "Somet"))); |
972 | | /// assert_eq!(parser.parse_peek("Some"), Err(ErrMode::Backtrack(InputError::new("Some", ErrorKind::Slice)))); |
973 | | /// assert_eq!(parser.parse_peek(""), Err(ErrMode::Backtrack(InputError::new("", ErrorKind::Slice)))); |
974 | | /// ``` |
975 | | impl<'s, I, E: ParserError<I>> Parser<I, <I as Stream>::Slice, E> for AsciiCaseless<&'s str> |
976 | | where |
977 | | I: Compare<AsciiCaseless<&'s str>> + StreamIsPartial, |
978 | | I: Stream, |
979 | | { |
980 | | #[inline(always)] |
981 | 0 | fn parse_next(&mut self, i: &mut I) -> PResult<<I as Stream>::Slice, E> { |
982 | 0 | crate::token::literal(*self).parse_next(i) |
983 | 0 | } Unexecuted instantiation: <winnow::ascii::Caseless<&str> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next Unexecuted instantiation: <winnow::ascii::Caseless<&str> as winnow::parser::Parser<_, <_ as winnow::stream::Stream>::Slice, _>>::parse_next |
984 | | } |
985 | | |
986 | | impl<I: Stream, E: ParserError<I>> Parser<I, (), E> for () { |
987 | | #[inline(always)] |
988 | 0 | fn parse_next(&mut self, _i: &mut I) -> PResult<(), E> { |
989 | 0 | Ok(()) |
990 | 0 | } Unexecuted instantiation: <() as winnow::parser::Parser<_, (), _>>::parse_next Unexecuted instantiation: <() as winnow::parser::Parser<_, (), _>>::parse_next |
991 | | } |
992 | | |
993 | | macro_rules! impl_parser_for_tuple { |
994 | | ($($parser:ident $output:ident),+) => ( |
995 | | #[allow(non_snake_case)] |
996 | | impl<I: Stream, $($output),+, E: ParserError<I>, $($parser),+> Parser<I, ($($output),+,), E> for ($($parser),+,) |
997 | | where |
998 | | $($parser: Parser<I, $output, E>),+ |
999 | | { |
1000 | | #[inline(always)] |
1001 | 85.7M | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { |
1002 | 85.7M | let ($(ref mut $parser),+,) = *self; |
1003 | | |
1004 | 59.8M | $(let $output = $parser.parse_next(i)?;)+ |
1005 | | |
1006 | 25.9M | Ok(($($output),+,)) |
1007 | 85.7M | } <(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::parse_next Line | Count | Source | 1001 | 463k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 463k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 450k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 12.6k | Ok(($($output),+,)) | 1007 | 463k | } |
<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next Line | Count | Source | 1001 | 463k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 463k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 446k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 16.8k | Ok(($($output),+,)) | 1007 | 463k | } |
<(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 1001 | 594k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 594k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 594k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 594k | Ok(($($output),+,)) | 1007 | 594k | } |
Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::parse_next <(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::parse_next Line | Count | Source | 1001 | 36.7k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 36.7k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 19.9k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 16.8k | Ok(($($output),+,)) | 1007 | 36.7k | } |
Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <(winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <(_,) as winnow::parser::Parser<_, (_,), _>>::parse_next Unexecuted instantiation: <(_, _) as winnow::parser::Parser<_, (_, _), _>>::parse_next Unexecuted instantiation: <(_, _, _) as winnow::parser::Parser<_, (_, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _) as winnow::parser::Parser<_, (_, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next <(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], [char; 2], winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::combinator::parser::Map<winnow::token::take_till<gix_config::parse::nom::comment::{closure#0}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}, gix_config::parse::nom::comment::{closure#1}, &[u8], &[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>>) as winnow::parser::Parser<&[u8], (u8, alloc::borrow::Cow<bstr::bstr::BStr>), winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 1001 | 43.4M | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 43.4M | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 34.7M | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 8.75M | Ok(($($output),+,)) | 1007 | 43.4M | } |
<(winnow::combinator::parser::Verify<winnow::token::any<&[u8], winnow::error::InputError<&[u8]>>, winnow::token::one_of<&[u8], gix_config::parse::nom::config_name::{closure#0}, winnow::error::InputError<&[u8]>>::{closure#0}, &[u8], u8, u8, winnow::error::InputError<&[u8]>>, winnow::token::take_while<gix_config::parse::nom::config_name::{closure#1}, &[u8], winnow::error::InputError<&[u8]>, core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (u8, &[u8]), winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 1001 | 36.0M | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 36.0M | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 21.1M | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 14.9M | Ok(($($output),+,)) | 1007 | 36.0M | } |
<(gix_config::parse::nom::take_spaces1, winnow::combinator::sequence::delimited<&[u8], char, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>, &[u8], winnow::error::InputError<&[u8]>, char, winnow::combinator::core::opt<&[u8], alloc::borrow::Cow<bstr::bstr::BStr>, winnow::error::InputError<&[u8]>, gix_config::parse::nom::sub_section>::{closure#0}, &str>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, core::option::Option<alloc::borrow::Cow<bstr::bstr::BStr>>), winnow::error::InputError<&[u8]>>>::parse_next Line | Count | Source | 1001 | 398k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 398k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 398k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 397k | Ok(($($output),+,)) | 1007 | 398k | } |
Unexecuted instantiation: <(winnow::combinator::parser::Context<(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>), &[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), (), winnow::error::StrContext>, winnow::combinator::branch::alt<&[u8], &bstr::bstr::BStr, (), (winnow::combinator::sequence::preceded<&[u8], u8, &bstr::bstr::BStr, (), u8, winnow::combinator::parser::Context<gix_ref::store_impl::file::log::line::decode::message<()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>>::{closure#0}, winnow::combinator::parser::Value<u8, &[u8], u8, &bstr::bstr::BStr, ()>, winnow::combinator::parser::Value<winnow::combinator::core::eof<&[u8], ()>, &[u8], &[u8], &bstr::bstr::BStr, ()>, winnow::combinator::parser::Context<winnow::combinator::core::fail<&[u8], &bstr::bstr::BStr, ()>, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>)>::{closure#0}) as winnow::parser::Parser<&[u8], ((&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_actor::signature::decode::function::decode<()>, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &bstr::bstr::BStr, gix_actor::SignatureRef), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_ref::parse::hex_hash<()>, &[u8; 1]>::{closure#0}, winnow::combinator::parser::TryMap<gix_ref::store_impl::packed::decode::until_newline<()>, <&bstr::bstr::BStr as core::convert::TryInto<&gix_ref::FullNameRef>>::try_into, &[u8], &bstr::bstr::BStr, &gix_ref::FullNameRef, (), gix_validate::reference::name::Error>, winnow::combinator::core::opt<&[u8], &bstr::bstr::BStr, (), winnow::combinator::sequence::delimited<&[u8], &[u8], &bstr::bstr::BStr, &[u8], (), &[u8; 1], gix_ref::parse::hex_hash<()>, gix_ref::parse::newline<()>>::{closure#0}>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, &gix_ref::FullNameRef, core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Unexecuted instantiation: <(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::parse_next Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Unexecuted instantiation: <(winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Unexecuted instantiation: <(_,) as winnow::parser::Parser<_, (_,), _>>::parse_next Unexecuted instantiation: <(_, _) as winnow::parser::Parser<_, (_, _), _>>::parse_next Unexecuted instantiation: <(_, _, _) as winnow::parser::Parser<_, (_, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _) as winnow::parser::Parser<_, (_, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next Unexecuted instantiation: <(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) as winnow::parser::Parser<_, (_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _), _>>::parse_next <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::combinator::parser::Map<winnow::combinator::parser::Take<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>), &[u8], (&[u8], &[u8], ()), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#1}, &[u8], &[u8], bstr::bstring::BString, ()>) as winnow::parser::Parser<&[u8], (&[u8], bstr::bstring::BString), ()>>::parse_next Line | Count | Source | 1001 | 1.04M | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 1.04M | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 1.04M | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 25.3k | Ok(($($output),+,)) | 1007 | 1.04M | } |
<(winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<winnow::combinator::sequence::terminated<&[u8], (&[u8], &[u8]), &[u8], (), (&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}), &[u8]>::{closure#0}, &[u8], (&[u8], &[u8]), (), ()>, gix_object::parse::any_header_field_multi_line<()>::{closure#0}, &[u8], (), (), ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], ()), ()>>::parse_next Line | Count | Source | 1001 | 1.04M | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 1.04M | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 1.04M | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 25.3k | Ok(($($output),+,)) | 1007 | 1.04M | } |
<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8], &[u8], &[u8]), ()>>::parse_next Line | Count | Source | 1001 | 378 | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 378 | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 264 | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 264 | Ok(($($output),+,)) | 1007 | 378 | } |
<(winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::token::take<usize, &[u8], ()>::{closure#0}>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#0}, &[u8], &[u8], i64, ()>, &[u8], i64, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::branch::alt<&[u8], gix_date::time::Sign, (), (winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#1}, &[u8], &[u8], gix_date::time::Sign, ()>, winnow::combinator::parser::Map<winnow::token::take_while<u8, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#2}, &[u8], &[u8], gix_date::time::Sign, ()>)>::{closure#0}, &[u8], gix_date::time::Sign, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), usize>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#3}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeInclusive<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#4}, &[u8], &[u8], i32, ()>, &[u8], i32, (), winnow::error::StrContext>, winnow::combinator::parser::Map<winnow::token::take_while<<u8 as winnow::stream::AsChar>::is_dec_digit, &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, gix_actor::signature::decode::function::decode<()>::{closure#5}, &[u8], &[u8], &[u8], ()>) as winnow::parser::Parser<&[u8], (i64, gix_date::time::Sign, i32, i32, &[u8]), ()>>::parse_next Line | Count | Source | 1001 | 5.22k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 5.22k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 3.88k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 3.88k | Ok(($($output),+,)) | 1007 | 5.22k | } |
<(winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::VerifyMap<gix_object::tag::decode::git_tag<()>::{closure#1}, gix_object::tag::decode::git_tag<()>::{closure#2}, &[u8], &[u8], gix_object::Kind, ()>, &[u8], gix_object::Kind, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::tag::decode::git_tag<()>::{closure#3}, &[u8], &[u8], (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], gix_actor::SignatureRef, (), gix_object::tag::decode::git_tag<()>::{closure#4}>::{closure#0}, &[u8], core::option::Option<gix_actor::SignatureRef>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>), &[u8], (), gix_object::tag::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, gix_object::Kind, &[u8], core::option::Option<gix_actor::SignatureRef>, (&bstr::bstr::BStr, core::option::Option<&bstr::bstr::BStr>)), ()>>::parse_next Line | Count | Source | 1001 | 1.99k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 1.99k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 1.38k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 753 | Ok(($($output),+,)) | 1007 | 1.99k | } |
<(winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#0}, &[u8], &bstr::bstr::BStr, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::parser::Map<winnow::combinator::multi::Repeat<gix_object::commit::decode::commit<()>::{closure#1}, &[u8], &bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, gix_object::commit::decode::commit<()>::{closure#2}, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, alloc::vec::Vec<&bstr::bstr::BStr>, ()>, &[u8], alloc::vec::Vec<&bstr::bstr::BStr>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#3}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<gix_object::commit::decode::commit<()>::{closure#4}, &[u8], gix_actor::SignatureRef, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::core::opt<&[u8], &[u8], (), gix_object::commit::decode::commit<()>::{closure#5}>::{closure#0}, &[u8], core::option::Option<&[u8]>, (), winnow::error::StrContext>, winnow::combinator::parser::Context<winnow::combinator::multi::Repeat<winnow::combinator::branch::alt<&[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), (), (winnow::combinator::parser::Map<gix_object::parse::any_header_field_multi_line<()>, gix_object::commit::decode::commit<()>::{closure#6}, &[u8], (&[u8], bstr::bstring::BString), (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), ()>, gix_object::commit::decode::commit<()>::{closure#7})>::{closure#0}, &[u8], (&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>), alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, ()>, &[u8], alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, (), winnow::error::StrContext>, winnow::combinator::sequence::terminated<&[u8], &bstr::bstr::BStr, &[u8], (), gix_object::commit::decode::message<()>, winnow::combinator::core::eof<&[u8], ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&bstr::bstr::BStr, alloc::vec::Vec<&bstr::bstr::BStr>, gix_actor::SignatureRef, gix_actor::SignatureRef, core::option::Option<&[u8]>, alloc::vec::Vec<(&bstr::bstr::BStr, alloc::borrow::Cow<bstr::bstr::BStr>)>, &bstr::bstr::BStr), ()>>::parse_next Line | Count | Source | 1001 | 2.06k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 2.06k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 1.92k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 136 | Ok(($($output),+,)) | 1007 | 2.06k | } |
Unexecuted instantiation: <(gix_object::commit::message::decode::newline<()>, gix_object::commit::message::decode::newline<()>) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next <(winnow::combinator::sequence::terminated<&[u8], &[u8], &[u8], (), winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8]>::{closure#0}, winnow::token::take_till<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Line | Count | Source | 1001 | 1.01M | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 1.01M | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 1.01M | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 1.01M | Ok(($($output),+,)) | 1007 | 1.01M | } |
<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], &[u8]), ()>>::parse_next Line | Count | Source | 1001 | 1.12M | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 1.12M | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 1.04M | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 86.9k | Ok(($($output),+,)) | 1007 | 1.12M | } |
<(winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, winnow::combinator::sequence::preceded<&[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, (), &[u8], winnow::combinator::parser::Map<winnow::combinator::parser::Take<(&[u8], winnow::token::take_until<&[u8], &[u8], (), core::ops::range::RangeFrom<usize>>::{closure#0}, &[u8], winnow::combinator::core::rest<&[u8], ()>), &[u8], (&[u8], &[u8], &[u8], &[u8]), ()>, gix_object::tag::decode::message<()>::{closure#0}, &[u8], &[u8], core::option::Option<&bstr::bstr::BStr>, ()>>::{closure#0}) as winnow::parser::Parser<&[u8], (&[u8], core::option::Option<&bstr::bstr::BStr>), ()>>::parse_next Line | Count | Source | 1001 | 1.46k | fn parse_next(&mut self, i: &mut I) -> PResult<($($output),+,), E> { | 1002 | 1.46k | let ($(ref mut $parser),+,) = *self; | 1003 | | | 1004 | 1.20k | $(let $output = $parser.parse_next(i)?;)+ | 1005 | | | 1006 | 264 | Ok(($($output),+,)) | 1007 | 1.46k | } |
|
1008 | | } |
1009 | | ) |
1010 | | } |
1011 | | |
1012 | | macro_rules! impl_parser_for_tuples { |
1013 | | ($parser1:ident $output1:ident, $($parser:ident $output:ident),+) => { |
1014 | | impl_parser_for_tuples!(__impl $parser1 $output1; $($parser $output),+); |
1015 | | }; |
1016 | | (__impl $($parser:ident $output:ident),+; $parser1:ident $output1:ident $(,$parser2:ident $output2:ident)*) => { |
1017 | | impl_parser_for_tuple!($($parser $output),+); |
1018 | | impl_parser_for_tuples!(__impl $($parser $output),+, $parser1 $output1; $($parser2 $output2),*); |
1019 | | }; |
1020 | | (__impl $($parser:ident $output:ident),+;) => { |
1021 | | impl_parser_for_tuple!($($parser $output),+); |
1022 | | } |
1023 | | } |
1024 | | |
1025 | | /// Collect all errors when parsing the input |
1026 | | /// |
1027 | | /// [`Parser`]s will need to use [`Recoverable<I, _>`] for their input. |
1028 | | #[cfg(feature = "unstable-recover")] |
1029 | | #[cfg(feature = "std")] |
1030 | | pub trait RecoverableParser<I, O, R, E> { |
1031 | | /// Collect all errors when parsing the input |
1032 | | /// |
1033 | | /// If `self` fails, this acts like [`Parser::resume_after`] and returns `Ok(None)`. |
1034 | | /// Generally, this should be avoided by using |
1035 | | /// [`Parser::retry_after`] and [`Parser::resume_after`] throughout your parser. |
1036 | | /// |
1037 | | /// The empty `input` is returned to allow turning the errors into [`ParserError`]s. |
1038 | | fn recoverable_parse(&mut self, input: I) -> (I, Option<O>, Vec<R>); |
1039 | | } |
1040 | | |
1041 | | #[cfg(feature = "unstable-recover")] |
1042 | | #[cfg(feature = "std")] |
1043 | | impl<P, I, O, R, E> RecoverableParser<I, O, R, E> for P |
1044 | | where |
1045 | | P: Parser<Recoverable<I, R>, O, E>, |
1046 | | I: Stream, |
1047 | | I: StreamIsPartial, |
1048 | | R: FromRecoverableError<Recoverable<I, R>, E>, |
1049 | | R: crate::lib::std::fmt::Debug, |
1050 | | E: FromRecoverableError<Recoverable<I, R>, E>, |
1051 | | E: ParserError<Recoverable<I, R>>, |
1052 | | E: crate::lib::std::fmt::Debug, |
1053 | | { |
1054 | | #[inline] |
1055 | | fn recoverable_parse(&mut self, input: I) -> (I, Option<O>, Vec<R>) { |
1056 | | debug_assert!( |
1057 | | !I::is_partial_supported(), |
1058 | | "partial streams need to handle `ErrMode::Incomplete`" |
1059 | | ); |
1060 | | |
1061 | | let start = input.checkpoint(); |
1062 | | let mut input = Recoverable::new(input); |
1063 | | let start_token = input.checkpoint(); |
1064 | | let result = ( |
1065 | | self.by_ref(), |
1066 | | crate::combinator::eof.resume_after(rest.void()), |
1067 | | ) |
1068 | | .parse_next(&mut input); |
1069 | | |
1070 | | let (o, err) = match result { |
1071 | | Ok((o, _)) => (Some(o), None), |
1072 | | Err(err) => { |
1073 | | let err = err |
1074 | | .into_inner() |
1075 | | .expect("complete parsers should not report `ErrMode::Incomplete(_)`"); |
1076 | | let err_start = input.checkpoint(); |
1077 | | let err = R::from_recoverable_error(&start_token, &err_start, &input, err); |
1078 | | (None, Some(err)) |
1079 | | } |
1080 | | }; |
1081 | | |
1082 | | let (mut input, mut errs) = input.into_parts(); |
1083 | | input.reset(&start); |
1084 | | if let Some(err) = err { |
1085 | | errs.push(err); |
1086 | | } |
1087 | | |
1088 | | (input, o, errs) |
1089 | | } |
1090 | | } |
1091 | | |
1092 | | impl_parser_for_tuples!( |
1093 | | P1 O1, |
1094 | | P2 O2, |
1095 | | P3 O3, |
1096 | | P4 O4, |
1097 | | P5 O5, |
1098 | | P6 O6, |
1099 | | P7 O7, |
1100 | | P8 O8, |
1101 | | P9 O9, |
1102 | | P10 O10, |
1103 | | P11 O11, |
1104 | | P12 O12, |
1105 | | P13 O13, |
1106 | | P14 O14, |
1107 | | P15 O15, |
1108 | | P16 O16, |
1109 | | P17 O17, |
1110 | | P18 O18, |
1111 | | P19 O19, |
1112 | | P20 O20, |
1113 | | P21 O21 |
1114 | | ); |
1115 | | |
1116 | | #[cfg(feature = "alloc")] |
1117 | | use crate::lib::std::boxed::Box; |
1118 | | |
1119 | | #[cfg(feature = "alloc")] |
1120 | | impl<'a, I, O, E> Parser<I, O, E> for Box<dyn Parser<I, O, E> + 'a> { |
1121 | | #[inline(always)] |
1122 | 0 | fn parse_next(&mut self, i: &mut I) -> PResult<O, E> { |
1123 | 0 | (**self).parse_next(i) |
1124 | 0 | } Unexecuted instantiation: <alloc::boxed::Box<dyn winnow::parser::Parser<_, _, _>> as winnow::parser::Parser<_, _, _>>::parse_next Unexecuted instantiation: <alloc::boxed::Box<dyn winnow::parser::Parser<_, _, _>> as winnow::parser::Parser<_, _, _>>::parse_next |
1125 | | } |
1126 | | |
1127 | | /// Convert a [`Parser::parse_peek`] style parse function to be a [`Parser`] |
1128 | | #[inline(always)] |
1129 | 0 | pub fn unpeek<'a, I, O, E>( |
1130 | 0 | mut peek: impl FnMut(I) -> IResult<I, O, E> + 'a, |
1131 | 0 | ) -> impl FnMut(&mut I) -> PResult<O, E> |
1132 | 0 | where |
1133 | 0 | I: Clone, |
1134 | 0 | { |
1135 | 0 | move |input| match peek((*input).clone()) { |
1136 | 0 | Ok((i, o)) => { |
1137 | 0 | *input = i; |
1138 | 0 | Ok(o) |
1139 | | } |
1140 | 0 | Err(err) => Err(err), |
1141 | 0 | } Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _>::{closure#0} Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _>::{closure#0} |
1142 | 0 | } Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _> Unexecuted instantiation: winnow::parser::unpeek::<_, _, _, _> |
1143 | | |
1144 | | #[cfg(test)] |
1145 | | mod tests { |
1146 | | use super::*; |
1147 | | use crate::binary::be_u16; |
1148 | | use crate::error::ErrMode; |
1149 | | use crate::error::ErrorKind; |
1150 | | use crate::error::InputError; |
1151 | | use crate::error::Needed; |
1152 | | use crate::token::take; |
1153 | | use crate::Partial; |
1154 | | |
1155 | | #[doc(hidden)] |
1156 | | #[macro_export] |
1157 | | macro_rules! assert_size ( |
1158 | | ($t:ty, $sz:expr) => ( |
1159 | | assert!($crate::lib::std::mem::size_of::<$t>() <= $sz, "{} <= {} failed", $crate::lib::std::mem::size_of::<$t>(), $sz); |
1160 | | ); |
1161 | | ); |
1162 | | |
1163 | | #[test] |
1164 | | #[cfg(target_pointer_width = "64")] |
1165 | | fn size_test() { |
1166 | | assert_size!(IResult<&[u8], &[u8], (&[u8], u32)>, 40); |
1167 | | assert_size!(IResult<&str, &str, u32>, 40); |
1168 | | assert_size!(Needed, 8); |
1169 | | assert_size!(ErrMode<u32>, 16); |
1170 | | assert_size!(ErrorKind, 1); |
1171 | | } |
1172 | | |
1173 | | #[test] |
1174 | | fn err_map_test() { |
1175 | | let e = ErrMode::Backtrack(1); |
1176 | | assert_eq!(e.map(|v| v + 1), ErrMode::Backtrack(2)); |
1177 | | } |
1178 | | |
1179 | | #[test] |
1180 | | fn single_element_tuples() { |
1181 | | use crate::ascii::alpha1; |
1182 | | use crate::error::ErrorKind; |
1183 | | |
1184 | | let mut parser = (alpha1,); |
1185 | | assert_eq!(parser.parse_peek("abc123def"), Ok(("123def", ("abc",)))); |
1186 | | assert_eq!( |
1187 | | parser.parse_peek("123def"), |
1188 | | Err(ErrMode::Backtrack(InputError::new( |
1189 | | "123def", |
1190 | | ErrorKind::Slice |
1191 | | ))) |
1192 | | ); |
1193 | | } |
1194 | | |
1195 | | #[test] |
1196 | | fn tuple_test() { |
1197 | | #[allow(clippy::type_complexity)] |
1198 | | fn tuple_3(i: Partial<&[u8]>) -> IResult<Partial<&[u8]>, (u16, &[u8], &[u8])> { |
1199 | | (be_u16, take(3u8), "fg").parse_peek(i) |
1200 | | } |
1201 | | |
1202 | | assert_eq!( |
1203 | | tuple_3(Partial::new(&b"abcdefgh"[..])), |
1204 | | Ok(( |
1205 | | Partial::new(&b"h"[..]), |
1206 | | (0x6162u16, &b"cde"[..], &b"fg"[..]) |
1207 | | )) |
1208 | | ); |
1209 | | assert_eq!( |
1210 | | tuple_3(Partial::new(&b"abcd"[..])), |
1211 | | Err(ErrMode::Incomplete(Needed::new(1))) |
1212 | | ); |
1213 | | assert_eq!( |
1214 | | tuple_3(Partial::new(&b"abcde"[..])), |
1215 | | Err(ErrMode::Incomplete(Needed::new(2))) |
1216 | | ); |
1217 | | assert_eq!( |
1218 | | tuple_3(Partial::new(&b"abcdejk"[..])), |
1219 | | Err(ErrMode::Backtrack(error_position!( |
1220 | | &Partial::new(&b"jk"[..]), |
1221 | | ErrorKind::Tag |
1222 | | ))) |
1223 | | ); |
1224 | | } |
1225 | | |
1226 | | #[test] |
1227 | | fn unit_type() { |
1228 | | fn parser(i: &mut &str) -> PResult<()> { |
1229 | | ().parse_next(i) |
1230 | | } |
1231 | | assert_eq!(parser.parse_peek("abxsbsh"), Ok(("abxsbsh", ()))); |
1232 | | assert_eq!(parser.parse_peek("sdfjakdsas"), Ok(("sdfjakdsas", ()))); |
1233 | | assert_eq!(parser.parse_peek(""), Ok(("", ()))); |
1234 | | } |
1235 | | } |