@@ -163,7 +163,7 @@ pub enum Token {
163163 // In practice a string token contains either a `&'static str` or a
164164 // `String`. `Cow` is overkill for this because we never modify the data,
165165 // but it's more convenient than rolling our own more specialized type.
166- String ( Cow < ' static , str > , isize ) ,
166+ String ( Cow < ' static , str > ) ,
167167 Break ( BreakToken ) ,
168168 Begin ( BeginToken ) ,
169169 End ,
@@ -194,7 +194,7 @@ impl Token {
194194impl fmt:: Display for Token {
195195 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
196196 match * self {
197- Token :: String ( ref s, len ) => write ! ( f, "STR({},{})" , s, len) ,
197+ Token :: String ( ref s) => write ! ( f, "STR({},{})" , s, s . len( ) ) ,
198198 Token :: Break ( _) => f. write_str ( "BREAK" ) ,
199199 Token :: Begin ( _) => f. write_str ( "BEGIN" ) ,
200200 Token :: End => f. write_str ( "END" ) ,
@@ -358,16 +358,17 @@ impl Printer {
358358 self . right_total += b. blank_space ;
359359 }
360360
361- fn scan_string ( & mut self , s : Cow < ' static , str > , len : isize ) {
361+ fn scan_string ( & mut self , s : Cow < ' static , str > ) {
362362 if self . scan_stack . is_empty ( ) {
363363 debug ! ( "pp String('{}')/print Vec<{},{}>" ,
364364 s, self . left, self . right) ;
365- self . print_string ( s, len ) ;
365+ self . print_string ( s) ;
366366 } else {
367367 debug ! ( "pp String('{}')/buffer Vec<{},{}>" ,
368368 s, self . left, self . right) ;
369369 self . advance_right ( ) ;
370- self . buf [ self . right ] = BufEntry { token : Token :: String ( s, len) , size : len } ;
370+ let len = s. len ( ) as isize ;
371+ self . buf [ self . right ] = BufEntry { token : Token :: String ( s) , size : len } ;
371372 self . right_total += len;
372373 self . check_stream ( ) ;
373374 }
@@ -430,7 +431,8 @@ impl Printer {
430431
431432 let len = match left {
432433 Token :: Break ( b) => b. blank_space ,
433- Token :: String ( _, len) => {
434+ Token :: String ( ref s) => {
435+ let len = s. len ( ) as isize ;
434436 assert_eq ! ( len, left_size) ;
435437 len
436438 }
@@ -554,7 +556,8 @@ impl Printer {
554556 }
555557 }
556558
557- fn print_string ( & mut self , s : Cow < ' static , str > , len : isize ) {
559+ fn print_string ( & mut self , s : Cow < ' static , str > ) {
560+ let len = s. len ( ) as isize ;
558561 debug ! ( "print String({})" , s) ;
559562 // assert!(len <= space);
560563 self . space -= len;
@@ -582,9 +585,10 @@ impl Printer {
582585 Token :: Begin ( b) => self . print_begin ( b, l) ,
583586 Token :: End => self . print_end ( ) ,
584587 Token :: Break ( b) => self . print_break ( b, l) ,
585- Token :: String ( s, len) => {
588+ Token :: String ( s) => {
589+ let len = s. len ( ) as isize ;
586590 assert_eq ! ( len, l) ;
587- self . print_string ( s, len ) ;
591+ self . print_string ( s) ;
588592 }
589593 Token :: Eof => panic ! ( ) , // Eof should never get here.
590594 }
@@ -628,8 +632,7 @@ impl Printer {
628632
629633 pub fn word < S : Into < Cow < ' static , str > > > ( & mut self , wrd : S ) {
630634 let s = wrd. into ( ) ;
631- let len = s. len ( ) as isize ;
632- self . scan_string ( s, len)
635+ self . scan_string ( s)
633636 }
634637
635638 fn spaces ( & mut self , n : usize ) {
0 commit comments