@@ -649,6 +649,7 @@ pub mod printf {
649649 ( $in_: expr, {
650650 $param: expr, $flags: expr,
651651 $width: expr, $prec: expr, $len: expr, $type_: expr,
652+ $pos: expr,
652653 } ) => {
653654 assert_eq!(
654655 pns( concat!( $in_, "!" ) ) ,
@@ -661,6 +662,7 @@ pub mod printf {
661662 precision: $prec,
662663 length: $len,
663664 type_: $type_,
665+ position: $pos,
664666 } ) ,
665667 "!"
666668 ) )
@@ -669,53 +671,53 @@ pub mod printf {
669671 }
670672
671673 assert_pns_eq_sub ! ( "%!" ,
672- { None , "" , None , None , None , "!" , } ) ;
674+ { None , "" , None , None , None , "!" , ( 0 , 2 ) , } ) ;
673675 assert_pns_eq_sub ! ( "%c" ,
674- { None , "" , None , None , None , "c" , } ) ;
676+ { None , "" , None , None , None , "c" , ( 0 , 2 ) , } ) ;
675677 assert_pns_eq_sub ! ( "%s" ,
676- { None , "" , None , None , None , "s" , } ) ;
678+ { None , "" , None , None , None , "s" , ( 0 , 2 ) , } ) ;
677679 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 ) , } ) ;
679681 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 ) , } ) ;
681683 assert_pns_eq_sub ! ( "%#x" ,
682- { None , "#" , None , None , None , "x" , } ) ;
684+ { None , "#" , None , None , None , "x" , ( 0 , 3 ) , } ) ;
683685 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 ) , } ) ;
685687 assert_pns_eq_sub ! ( "%*s" ,
686- { None , "" , Some ( N :: Next ) , None , None , "s" , } ) ;
688+ { None , "" , Some ( N :: Next ) , None , None , "s" , ( 0 , 3 ) , } ) ;
687689 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 ) , } ) ;
689691 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 ) , } ) ;
691693 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 ) , } ) ;
693695 assert_pns_eq_sub ! ( "%+i" ,
694- { None , "+" , None , None , None , "i" , } ) ;
696+ { None , "+" , None , None , None , "i" , ( 0 , 3 ) , } ) ;
695697 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 ) , } ) ;
697699 assert_pns_eq_sub ! ( "%lu" ,
698- { None , "" , None , None , Some ( "l" ) , "u" , } ) ;
700+ { None , "" , None , None , Some ( "l" ) , "u" , ( 0 , 3 ) , } ) ;
699701 assert_pns_eq_sub ! ( "%Iu" ,
700- { None , "" , None , None , Some ( "I" ) , "u" , } ) ;
702+ { None , "" , None , None , Some ( "I" ) , "u" , ( 0 , 3 ) , } ) ;
701703 assert_pns_eq_sub ! ( "%I32u" ,
702- { None , "" , None , None , Some ( "I32" ) , "u" , } ) ;
704+ { None , "" , None , None , Some ( "I32" ) , "u" , ( 0 , 5 ) , } ) ;
703705 assert_pns_eq_sub ! ( "%I64u" ,
704- { None , "" , None , None , Some ( "I64" ) , "u" , } ) ;
706+ { None , "" , None , None , Some ( "I64" ) , "u" , ( 0 , 5 ) , } ) ;
705707 assert_pns_eq_sub ! ( "%'d" ,
706- { None , "'" , None , None , None , "d" , } ) ;
708+ { None , "'" , None , None , None , "d" , ( 0 , 3 ) , } ) ;
707709 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 ) , } ) ;
709711 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 ) , } ) ;
711713 assert_pns_eq_sub ! ( "%1$d" ,
712- { Some ( 1 ) , "" , None , None , None , "d" , } ) ;
714+ { Some ( 1 ) , "" , None , None , None , "d" , ( 0 , 4 ) , } ) ;
713715 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 ) , } ) ;
715717 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 ) , } ) ;
717719 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 ) , } ) ;
719721 }
720722
721723 #[ test]
0 commit comments