@@ -649,6 +649,7 @@ pub mod printf {
649
649
( $in_: expr, {
650
650
$param: expr, $flags: expr,
651
651
$width: expr, $prec: expr, $len: expr, $type_: expr,
652
+ $pos: expr,
652
653
} ) => {
653
654
assert_eq!(
654
655
pns( concat!( $in_, "!" ) ) ,
@@ -661,6 +662,7 @@ pub mod printf {
661
662
precision: $prec,
662
663
length: $len,
663
664
type_: $type_,
665
+ position: $pos,
664
666
} ) ,
665
667
"!"
666
668
) )
@@ -669,53 +671,53 @@ pub mod printf {
669
671
}
670
672
671
673
assert_pns_eq_sub ! ( "%!" ,
672
- { None , "" , None , None , None , "!" , } ) ;
674
+ { None , "" , None , None , None , "!" , ( 0 , 2 ) , } ) ;
673
675
assert_pns_eq_sub ! ( "%c" ,
674
- { None , "" , None , None , None , "c" , } ) ;
676
+ { None , "" , None , None , None , "c" , ( 0 , 2 ) , } ) ;
675
677
assert_pns_eq_sub ! ( "%s" ,
676
- { None , "" , None , None , None , "s" , } ) ;
678
+ { None , "" , None , None , None , "s" , ( 0 , 2 ) , } ) ;
677
679
assert_pns_eq_sub ! ( "%06d" ,
678
- { None , "0" , Some ( N :: Num ( 6 ) ) , None , None , "d" , } ) ;
680
+ { None , "0" , Some ( N :: Num ( 6 ) ) , None , None , "d" , ( 0 , 4 ) , } ) ;
679
681
assert_pns_eq_sub ! ( "%4.2f" ,
680
- { None , "" , Some ( N :: Num ( 4 ) ) , Some ( N :: Num ( 2 ) ) , None , "f" , } ) ;
682
+ { None , "" , Some ( N :: Num ( 4 ) ) , Some ( N :: Num ( 2 ) ) , None , "f" , ( 0 , 5 ) , } ) ;
681
683
assert_pns_eq_sub ! ( "%#x" ,
682
- { None , "#" , None , None , None , "x" , } ) ;
684
+ { None , "#" , None , None , None , "x" , ( 0 , 3 ) , } ) ;
683
685
assert_pns_eq_sub ! ( "%-10s" ,
684
- { None , "-" , Some ( N :: Num ( 10 ) ) , None , None , "s" , } ) ;
686
+ { None , "-" , Some ( N :: Num ( 10 ) ) , None , None , "s" , ( 0 , 5 ) , } ) ;
685
687
assert_pns_eq_sub ! ( "%*s" ,
686
- { None , "" , Some ( N :: Next ) , None , None , "s" , } ) ;
688
+ { None , "" , Some ( N :: Next ) , None , None , "s" , ( 0 , 3 ) , } ) ;
687
689
assert_pns_eq_sub ! ( "%-10.*s" ,
688
- { None , "-" , Some ( N :: Num ( 10 ) ) , Some ( N :: Next ) , None , "s" , } ) ;
690
+ { None , "-" , Some ( N :: Num ( 10 ) ) , Some ( N :: Next ) , None , "s" , ( 0 , 7 ) , } ) ;
689
691
assert_pns_eq_sub ! ( "%-*.*s" ,
690
- { None , "-" , Some ( N :: Next ) , Some ( N :: Next ) , None , "s" , } ) ;
692
+ { None , "-" , Some ( N :: Next ) , Some ( N :: Next ) , None , "s" , ( 0 , 6 ) , } ) ;
691
693
assert_pns_eq_sub ! ( "%.6i" ,
692
- { None , "" , None , Some ( N :: Num ( 6 ) ) , None , "i" , } ) ;
694
+ { None , "" , None , Some ( N :: Num ( 6 ) ) , None , "i" , ( 0 , 4 ) , } ) ;
693
695
assert_pns_eq_sub ! ( "%+i" ,
694
- { None , "+" , None , None , None , "i" , } ) ;
696
+ { None , "+" , None , None , None , "i" , ( 0 , 3 ) , } ) ;
695
697
assert_pns_eq_sub ! ( "%08X" ,
696
- { None , "0" , Some ( N :: Num ( 8 ) ) , None , None , "X" , } ) ;
698
+ { None , "0" , Some ( N :: Num ( 8 ) ) , None , None , "X" , ( 0 , 4 ) , } ) ;
697
699
assert_pns_eq_sub ! ( "%lu" ,
698
- { None , "" , None , None , Some ( "l" ) , "u" , } ) ;
700
+ { None , "" , None , None , Some ( "l" ) , "u" , ( 0 , 3 ) , } ) ;
699
701
assert_pns_eq_sub ! ( "%Iu" ,
700
- { None , "" , None , None , Some ( "I" ) , "u" , } ) ;
702
+ { None , "" , None , None , Some ( "I" ) , "u" , ( 0 , 3 ) , } ) ;
701
703
assert_pns_eq_sub ! ( "%I32u" ,
702
- { None , "" , None , None , Some ( "I32" ) , "u" , } ) ;
704
+ { None , "" , None , None , Some ( "I32" ) , "u" , ( 0 , 5 ) , } ) ;
703
705
assert_pns_eq_sub ! ( "%I64u" ,
704
- { None , "" , None , None , Some ( "I64" ) , "u" , } ) ;
706
+ { None , "" , None , None , Some ( "I64" ) , "u" , ( 0 , 5 ) , } ) ;
705
707
assert_pns_eq_sub ! ( "%'d" ,
706
- { None , "'" , None , None , None , "d" , } ) ;
708
+ { None , "'" , None , None , None , "d" , ( 0 , 3 ) , } ) ;
707
709
assert_pns_eq_sub ! ( "%10s" ,
708
- { None , "" , Some ( N :: Num ( 10 ) ) , None , None , "s" , } ) ;
710
+ { None , "" , Some ( N :: Num ( 10 ) ) , None , None , "s" , ( 0 , 4 ) , } ) ;
709
711
assert_pns_eq_sub ! ( "%-10.10s" ,
710
- { None , "-" , Some ( N :: Num ( 10 ) ) , Some ( N :: Num ( 10 ) ) , None , "s" , } ) ;
712
+ { None , "-" , Some ( N :: Num ( 10 ) ) , Some ( N :: Num ( 10 ) ) , None , "s" , ( 0 , 8 ) , } ) ;
711
713
assert_pns_eq_sub ! ( "%1$d" ,
712
- { Some ( 1 ) , "" , None , None , None , "d" , } ) ;
714
+ { Some ( 1 ) , "" , None , None , None , "d" , ( 0 , 4 ) , } ) ;
713
715
assert_pns_eq_sub ! ( "%2$.*3$d" ,
714
- { Some ( 2 ) , "" , None , Some ( N :: Arg ( 3 ) ) , None , "d" , } ) ;
716
+ { Some ( 2 ) , "" , None , Some ( N :: Arg ( 3 ) ) , None , "d" , ( 0 , 8 ) , } ) ;
715
717
assert_pns_eq_sub ! ( "%1$*2$.*3$d" ,
716
- { Some ( 1 ) , "" , Some ( N :: Arg ( 2 ) ) , Some ( N :: Arg ( 3 ) ) , None , "d" , } ) ;
718
+ { Some ( 1 ) , "" , Some ( N :: Arg ( 2 ) ) , Some ( N :: Arg ( 3 ) ) , None , "d" , ( 0 , 11 ) , } ) ;
717
719
assert_pns_eq_sub ! ( "%-8ld" ,
718
- { None , "-" , Some ( N :: Num ( 8 ) ) , None , Some ( "l" ) , "d" , } ) ;
720
+ { None , "-" , Some ( N :: Num ( 8 ) ) , None , Some ( "l" ) , "d" , ( 0 , 5 ) , } ) ;
719
721
}
720
722
721
723
#[ test]
0 commit comments