@@ -254,7 +254,7 @@ fn add_styled_segment(base: &mut String, segment: &str, color: DynColors, bold:
254
254
255
255
type ParseResult < ' a , R > = Option < ( & ' a str , R ) > ;
256
256
257
- fn token < R > ( s : & str , predicate : impl FnOnce ( char ) -> Option < R > ) -> ParseResult < R > {
257
+ fn token < ' a , R > ( s : & ' a str , predicate : impl FnOnce ( char ) -> Option < R > ) -> ParseResult < ' a , R > {
258
258
let mut chars = s. chars ( ) ;
259
259
let token = chars. next ( ) ?;
260
260
let result = predicate ( token) ?;
@@ -264,20 +264,20 @@ fn token<R>(s: &str, predicate: impl FnOnce(char) -> Option<R>) -> ParseResult<R
264
264
// Parsers
265
265
266
266
/// Parses a color indicator of the format `{n}` where `n` is a digit.
267
- fn color_token ( s : & str ) -> ParseResult < Token > {
267
+ fn color_token < ' a > ( s : & ' a str ) -> ParseResult < ' a , Token > {
268
268
let ( s, ( ) ) = token ( s, succeed_when ( |c| c == '{' ) ) ?;
269
269
let ( s, color_index) = token ( s, |c| c. to_digit ( 10 ) ) ?;
270
270
let ( s, ( ) ) = token ( s, succeed_when ( |c| c == '}' ) ) ?;
271
271
Some ( ( s, Token :: Color ( color_index) ) )
272
272
}
273
273
274
274
/// Parses a space.
275
- fn space_token ( s : & str ) -> ParseResult < Token > {
275
+ fn space_token < ' a > ( s : & ' a str ) -> ParseResult < ' a , Token > {
276
276
token ( s, succeed_when ( |c| c == ' ' ) ) . map ( |( s, ( ) ) | ( s, Token :: Space ) )
277
277
}
278
278
279
279
/// Parses any arbitrary character. This cannot fail.
280
- fn char_token ( s : & str ) -> ParseResult < Token > {
280
+ fn char_token < ' a > ( s : & ' a str ) -> ParseResult < ' a , Token > {
281
281
token ( s, |c| Some ( Token :: Char ( c) ) )
282
282
}
283
283
0 commit comments