@@ -246,12 +246,10 @@ where
246
246
let name = name. clone ( ) ;
247
247
let result = {
248
248
let parser = & mut self . parser ;
249
- // FIXME: https://github.com/servo/rust-cssparser/issues/254
250
- let callback = |input : & mut Parser < ' i , ' _ > | {
249
+ parse_until_after ( self . input , Delimiter :: Semicolon , |input| {
251
250
input. expect_colon ( ) ?;
252
251
parser. parse_value ( name, input)
253
- } ;
254
- parse_until_after ( self . input , Delimiter :: Semicolon , callback)
252
+ } )
255
253
} ;
256
254
return Some ( result. map_err ( |e| ( e, self . input . slice_from ( start. position ( ) ) ) ) ) ;
257
255
}
@@ -436,34 +434,28 @@ where
436
434
P : AtRuleParser < ' i , Error = E > ,
437
435
{
438
436
let delimiters = Delimiter :: Semicolon | Delimiter :: CurlyBracketBlock ;
439
- // FIXME: https://github.com/servo/rust-cssparser/issues/254
440
- let callback = |input : & mut Parser < ' i , ' _ > | parser. parse_prelude ( name, input) ;
441
- let result = parse_until_before ( input, delimiters, callback) ;
437
+ let result = parse_until_before ( input, delimiters, |input| parser. parse_prelude ( name, input) ) ;
442
438
match result {
443
439
Ok ( prelude) => {
444
440
let result = match input. next ( ) {
445
- Ok ( & Token :: Semicolon ) | Err ( _) => {
446
- parser. rule_without_block ( prelude, start)
447
- . map_err ( |( ) | input. new_unexpected_token_error ( Token :: Semicolon ) )
448
- } ,
441
+ Ok ( & Token :: Semicolon ) | Err ( _) => parser
442
+ . rule_without_block ( prelude, start)
443
+ . map_err ( |( ) | input. new_unexpected_token_error ( Token :: Semicolon ) ) ,
449
444
Ok ( & Token :: CurlyBracketBlock ) => {
450
- // FIXME: https://github.com/servo/rust-cssparser/issues/254
451
- let callback =
452
- |input : & mut Parser < ' i , ' _ > | parser. parse_block ( prelude, start, input) ;
453
- parse_nested_block ( input, callback)
454
- } ,
445
+ parse_nested_block ( input, |input| parser. parse_block ( prelude, start, input) )
446
+ }
455
447
Ok ( _) => unreachable ! ( ) ,
456
448
} ;
457
449
result. map_err ( |e| ( e, input. slice_from ( start. position ( ) ) ) )
458
- } ,
450
+ }
459
451
Err ( error) => {
460
452
let end_position = input. position ( ) ;
461
453
match input. next ( ) {
462
454
Ok ( & Token :: CurlyBracketBlock ) | Ok ( & Token :: Semicolon ) | Err ( _) => { }
463
455
_ => unreachable ! ( ) ,
464
456
} ;
465
457
Err ( ( error, input. slice ( start. position ( ) ..end_position) ) )
466
- } ,
458
+ }
467
459
}
468
460
}
469
461
@@ -475,16 +467,14 @@ where
475
467
P : QualifiedRuleParser < ' i , Error = E > ,
476
468
{
477
469
let start = input. state ( ) ;
478
- // FIXME: https://github.com/servo/rust-cssparser/issues/254
479
- let callback = | input : & mut Parser < ' i , ' _ > | parser. parse_prelude ( input) ;
480
- let prelude = parse_until_before ( input , Delimiter :: CurlyBracketBlock , callback ) ;
470
+ let prelude = parse_until_before ( input , Delimiter :: CurlyBracketBlock , |input| {
471
+ parser. parse_prelude ( input)
472
+ } ) ;
481
473
match * input. next ( ) ? {
482
474
Token :: CurlyBracketBlock => {
483
475
// Do this here so that we consume the `{` even if the prelude is `Err`.
484
476
let prelude = prelude?;
485
- // FIXME: https://github.com/servo/rust-cssparser/issues/254
486
- let callback = |input : & mut Parser < ' i , ' _ > | parser. parse_block ( prelude, & start, input) ;
487
- parse_nested_block ( input, callback)
477
+ parse_nested_block ( input, |input| parser. parse_block ( prelude, & start, input) )
488
478
}
489
479
_ => unreachable ! ( ) ,
490
480
}
0 commit comments