@@ -385,36 +385,22 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
385
385
None => Err ( ~"Invalid year")
386
386
} ,
387
387
'c' => {
388
- // FIXME(#3724): cleanup
389
- result:: chain (
390
- result:: chain (
391
- result:: chain (
392
- result:: chain (
393
- result:: chain (
394
- result:: chain (
395
- result:: chain (
396
- result:: chain (
397
- move parse_type ( s, pos, 'a' , tm) ,
398
- |pos| parse_char ( s, pos, ' ' ) ) ,
399
- |pos| parse_type ( s, pos, 'b' , tm) ) ,
400
- |pos| parse_char ( s, pos, ' ' ) ) ,
401
- |pos| parse_type ( s, pos, 'e' , tm) ) ,
402
- |pos| parse_char ( s, pos, ' ' ) ) ,
403
- |pos| parse_type ( s, pos, 'T' , tm) ) ,
404
- |pos| parse_char ( s, pos, ' ' ) ) ,
405
- |pos| parse_type ( s, pos, 'Y' , tm) )
388
+ parse_type ( s, pos, 'a' , tm)
389
+ . chain ( |pos| parse_char ( s, pos, ' ' ) )
390
+ . chain ( |pos| parse_type ( s, pos, 'b' , tm) )
391
+ . chain ( |pos| parse_char ( s, pos, ' ' ) )
392
+ . chain ( |pos| parse_type ( s, pos, 'e' , tm) )
393
+ . chain ( |pos| parse_char ( s, pos, ' ' ) )
394
+ . chain ( |pos| parse_type ( s, pos, 'T' , tm) )
395
+ . chain ( |pos| parse_char ( s, pos, ' ' ) )
396
+ . chain ( |pos| parse_type ( s, pos, 'Y' , tm) )
406
397
}
407
398
'D' | 'x' => {
408
- // FIXME(#3724): cleanup
409
- result:: chain (
410
- result:: chain (
411
- result:: chain (
412
- result:: chain (
413
- move parse_type ( s, pos, 'm' , tm) ,
414
- |pos| parse_char ( s, pos, '/' ) ) ,
415
- |pos| parse_type ( s, pos, 'd' , tm) ) ,
416
- |pos| parse_char ( s, pos, '/' ) ) ,
417
- |pos| parse_type ( s, pos, 'y' , tm) )
399
+ parse_type ( s, pos, 'm' , tm)
400
+ . chain ( |pos| parse_char ( s, pos, '/' ) )
401
+ . chain ( |pos| parse_type ( s, pos, 'd' , tm) )
402
+ . chain ( |pos| parse_char ( s, pos, '/' ) )
403
+ . chain ( |pos| parse_type ( s, pos, 'y' , tm) )
418
404
}
419
405
'd' => match match_digits ( s, pos, 2 u, false ) {
420
406
Some ( item) => { let ( v, pos) = item; tm. tm_mday = v; Ok ( pos) }
@@ -425,16 +411,11 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
425
411
None => Err ( ~"Invalid day of the month")
426
412
} ,
427
413
'F' => {
428
- // FIXME(#3724): cleanup
429
- result:: chain (
430
- result:: chain (
431
- result:: chain (
432
- result:: chain (
433
- move parse_type ( s, pos, 'Y' , tm) ,
434
- |pos| parse_char ( s, pos, '-' ) ) ,
435
- |pos| parse_type ( s, pos, 'm' , tm) ) ,
436
- |pos| parse_char ( s, pos, '-' ) ) ,
437
- |pos| parse_type ( s, pos, 'd' , tm) )
414
+ parse_type ( s, pos, 'Y' , tm)
415
+ . chain ( |pos| parse_char ( s, pos, '-' ) )
416
+ . chain ( |pos| parse_type ( s, pos, 'm' , tm) )
417
+ . chain ( |pos| parse_char ( s, pos, '-' ) )
418
+ . chain ( |pos| parse_type ( s, pos, 'd' , tm) )
438
419
}
439
420
'H' => {
440
421
// FIXME (#2350): range check.
@@ -515,28 +496,18 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
515
496
None => Err ( ~"Invalid hour")
516
497
} ,
517
498
'R' => {
518
- // FIXME(#3724): cleanup
519
- result:: chain (
520
- result:: chain (
521
- move parse_type ( s, pos, 'H' , tm) ,
522
- |pos| parse_char ( s, pos, ':' ) ) ,
523
- |pos| parse_type ( s, pos, 'M' , tm) )
499
+ parse_type ( s, pos, 'H' , tm)
500
+ . chain ( |pos| parse_char ( s, pos, ':' ) )
501
+ . chain ( |pos| parse_type ( s, pos, 'M' , tm) )
524
502
}
525
503
'r' => {
526
- // FIXME(#3724): cleanup
527
- result:: chain (
528
- result:: chain (
529
- result:: chain (
530
- result:: chain (
531
- result:: chain (
532
- result:: chain (
533
- move parse_type ( s, pos, 'I' , tm) ,
534
- |pos| parse_char ( s, pos, ':' ) ) ,
535
- |pos| parse_type ( s, pos, 'M' , tm) ) ,
536
- |pos| parse_char ( s, pos, ':' ) ) ,
537
- |pos| parse_type ( s, pos, 'S' , tm) ) ,
538
- |pos| parse_char ( s, pos, ' ' ) ) ,
539
- |pos| parse_type ( s, pos, 'p' , tm) )
504
+ parse_type ( s, pos, 'I' , tm)
505
+ . chain ( |pos| parse_char ( s, pos, ':' ) )
506
+ . chain ( |pos| parse_type ( s, pos, 'M' , tm) )
507
+ . chain ( |pos| parse_char ( s, pos, ':' ) )
508
+ . chain ( |pos| parse_type ( s, pos, 'S' , tm) )
509
+ . chain ( |pos| parse_char ( s, pos, ' ' ) )
510
+ . chain ( |pos| parse_type ( s, pos, 'p' , tm) )
540
511
}
541
512
'S' => {
542
513
// FIXME (#2350): range check.
@@ -551,16 +522,11 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
551
522
}
552
523
//'s' {}
553
524
'T' | 'X' => {
554
- // FIXME(#3724): cleanup
555
- result:: chain (
556
- result:: chain (
557
- result:: chain (
558
- result:: chain (
559
- move parse_type ( s, pos, 'H' , tm) ,
560
- |pos| parse_char ( s, pos, ':' ) ) ,
561
- |pos| parse_type ( s, pos, 'M' , tm) ) ,
562
- |pos| parse_char ( s, pos, ':' ) ) ,
563
- |pos| parse_type ( s, pos, 'S' , tm) )
525
+ parse_type ( s, pos, 'H' , tm)
526
+ . chain ( |pos| parse_char ( s, pos, ':' ) )
527
+ . chain ( |pos| parse_type ( s, pos, 'M' , tm) )
528
+ . chain ( |pos| parse_char ( s, pos, ':' ) )
529
+ . chain ( |pos| parse_type ( s, pos, 'S' , tm) )
564
530
}
565
531
't' => parse_char ( s, pos, '\t' ) ,
566
532
'u' => {
@@ -575,16 +541,11 @@ priv fn do_strptime(s: &str, format: &str) -> Result<Tm, ~str> {
575
541
}
576
542
}
577
543
'v' => {
578
- // FIXME(#3724): cleanup
579
- result:: chain (
580
- result:: chain (
581
- result:: chain (
582
- result:: chain (
583
- move parse_type ( s, pos, 'e' , tm) ,
584
- |pos| parse_char ( s, pos, '-' ) ) ,
585
- |pos| parse_type ( s, pos, 'b' , tm) ) ,
586
- |pos| parse_char ( s, pos, '-' ) ) ,
587
- |pos| parse_type ( s, pos, 'Y' , tm) )
544
+ parse_type ( s, pos, 'e' , tm)
545
+ . chain ( |pos| parse_char ( s, pos, '-' ) )
546
+ . chain ( |pos| parse_type ( s, pos, 'b' , tm) )
547
+ . chain ( |pos| parse_char ( s, pos, '-' ) )
548
+ . chain ( |pos| parse_type ( s, pos, 'Y' , tm) )
588
549
}
589
550
//'W' {}
590
551
'w' => {
0 commit comments