@@ -263,10 +263,10 @@ pub mod printf {
263263 }
264264
265265 /// Returns an iterator over all substitutions in a given string.
266- pub fn iter_subs ( s : & str ) -> Substitutions < ' _ > {
266+ pub fn iter_subs ( s : & str , start_pos : usize ) -> Substitutions < ' _ > {
267267 Substitutions {
268268 s,
269- pos : 0 ,
269+ pos : start_pos ,
270270 }
271271 }
272272
@@ -711,7 +711,7 @@ pub mod printf {
711711 #[ test]
712712 fn test_iter ( ) {
713713 let s = "The %d'th word %% is: `%.*s` %!\n " ;
714- let subs: Vec < _ > = iter_subs ( s) . map ( |sub| sub. translate ( ) ) . collect ( ) ;
714+ let subs: Vec < _ > = iter_subs ( s, 0 ) . map ( |sub| sub. translate ( ) ) . collect ( ) ;
715715 assert_eq ! (
716716 subs. iter( ) . map( |ms| ms. as_ref( ) . map( |s| & s[ ..] ) ) . collect:: <Vec <_>>( ) ,
717717 vec![ Some ( "{}" ) , None , Some ( "{:.*}" ) , None ]
@@ -804,10 +804,10 @@ pub mod shell {
804804 }
805805
806806 /// Returns an iterator over all substitutions in a given string.
807- pub fn iter_subs ( s : & str ) -> Substitutions < ' _ > {
807+ pub fn iter_subs ( s : & str , start_pos : usize ) -> Substitutions < ' _ > {
808808 Substitutions {
809809 s,
810- pos : 0 ,
810+ pos : start_pos ,
811811 }
812812 }
813813
@@ -940,7 +940,7 @@ pub mod shell {
940940 fn test_iter ( ) {
941941 use super :: iter_subs;
942942 let s = "The $0'th word $$ is: `$WORD` $!\n " ;
943- let subs: Vec < _ > = iter_subs ( s) . map ( |sub| sub. translate ( ) ) . collect ( ) ;
943+ let subs: Vec < _ > = iter_subs ( s, 0 ) . map ( |sub| sub. translate ( ) ) . collect ( ) ;
944944 assert_eq ! (
945945 subs. iter( ) . map( |ms| ms. as_ref( ) . map( |s| & s[ ..] ) ) . collect:: <Vec <_>>( ) ,
946946 vec![ Some ( "{0}" ) , None , Some ( "{WORD}" ) ]
0 commit comments