@@ -9,7 +9,7 @@ use rustc_ast::ast::{InlineAsmOptions, InlineAsmTemplatePiece};
99use rustc_ast:: attr;
1010use rustc_ast:: ptr:: P ;
1111use rustc_ast:: token:: { self , BinOpToken , DelimToken , Nonterminal , Token , TokenKind } ;
12- use rustc_ast:: tokenstream:: { self , TokenStream , TokenTree } ;
12+ use rustc_ast:: tokenstream:: { TokenStream , TokenTree } ;
1313use rustc_ast:: util:: parser:: { self , AssocOp , Fixity } ;
1414use rustc_ast:: util:: { classify, comments} ;
1515use rustc_span:: edition:: Edition ;
@@ -293,7 +293,7 @@ pub fn nonterminal_to_string(nt: &Nonterminal) -> String {
293293 token:: NtIdent ( e, is_raw) => IdentPrinter :: for_ast_ident ( e, is_raw) . to_string ( ) ,
294294 token:: NtLifetime ( e) => e. to_string ( ) ,
295295 token:: NtLiteral ( ref e) => expr_to_string ( e) ,
296- token:: NtTT ( ref tree) => tt_to_string ( tree. clone ( ) ) ,
296+ token:: NtTT ( ref tree) => tt_to_string ( tree) ,
297297 token:: NtVis ( ref e) => vis_to_string ( e) ,
298298 }
299299}
@@ -314,11 +314,11 @@ pub fn expr_to_string(e: &ast::Expr) -> String {
314314 to_string ( |s| s. print_expr ( e) )
315315}
316316
317- pub fn tt_to_string ( tt : tokenstream :: TokenTree ) -> String {
317+ pub fn tt_to_string ( tt : & TokenTree ) -> String {
318318 to_string ( |s| s. print_tt ( tt, false ) )
319319}
320320
321- pub fn tts_to_string ( tokens : TokenStream ) -> String {
321+ pub fn tts_to_string ( tokens : & TokenStream ) -> String {
322322 to_string ( |s| s. print_tts ( tokens, false ) )
323323}
324324
@@ -585,7 +585,7 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
585585 false ,
586586 None ,
587587 delim. to_token ( ) ,
588- tokens. clone ( ) ,
588+ tokens,
589589 true ,
590590 span,
591591 ) ,
@@ -594,7 +594,7 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
594594 if let MacArgs :: Eq ( _, tokens) = & item. args {
595595 self . space ( ) ;
596596 self . word_space ( "=" ) ;
597- self . print_tts ( tokens. clone ( ) , true ) ;
597+ self . print_tts ( tokens, true ) ;
598598 }
599599 }
600600 }
@@ -635,9 +635,9 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
635635 /// appropriate macro, transcribe back into the grammar we just parsed from,
636636 /// and then pretty-print the resulting AST nodes (so, e.g., we print
637637 /// expression arguments as expressions). It can be done! I think.
638- fn print_tt ( & mut self , tt : tokenstream :: TokenTree , convert_dollar_crate : bool ) {
638+ fn print_tt ( & mut self , tt : & TokenTree , convert_dollar_crate : bool ) {
639639 match tt {
640- TokenTree :: Token ( ref token) => {
640+ TokenTree :: Token ( token) => {
641641 self . word ( token_to_string_ext ( & token, convert_dollar_crate) ) ;
642642 if let token:: DocComment ( ..) = token. kind {
643643 self . hardbreak ( )
@@ -648,7 +648,7 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
648648 None ,
649649 false ,
650650 None ,
651- delim,
651+ * delim,
652652 tts,
653653 convert_dollar_crate,
654654 dspan. entire ( ) ,
@@ -657,14 +657,14 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
657657 }
658658 }
659659
660- fn print_tts ( & mut self , tts : tokenstream :: TokenStream , convert_dollar_crate : bool ) {
661- let mut iter = tts. into_trees ( ) . peekable ( ) ;
660+ fn print_tts ( & mut self , tts : & TokenStream , convert_dollar_crate : bool ) {
661+ let mut iter = tts. trees ( ) . peekable ( ) ;
662662 while let Some ( tt) = iter. next ( ) {
663- let show_space =
664- if let Some ( next) = iter. peek ( ) { tt_prepend_space ( next , & tt ) } else { false } ;
665- self . print_tt ( tt , convert_dollar_crate ) ;
666- if show_space {
667- self . space ( ) ;
663+ self . print_tt ( & tt , convert_dollar_crate ) ;
664+ if let Some ( next) = iter. peek ( ) {
665+ if tt_prepend_space ( next , & tt ) {
666+ self . space ( ) ;
667+ }
668668 }
669669 }
670670 }
@@ -675,7 +675,7 @@ pub trait PrintState<'a>: std::ops::Deref<Target = pp::Printer> + std::ops::Dere
675675 has_bang : bool ,
676676 ident : Option < Ident > ,
677677 delim : DelimToken ,
678- tts : TokenStream ,
678+ tts : & TokenStream ,
679679 convert_dollar_crate : bool ,
680680 span : Span ,
681681 ) {
@@ -1253,7 +1253,7 @@ impl<'a> State<'a> {
12531253 has_bang,
12541254 Some ( item. ident ) ,
12551255 macro_def. body . delim ( ) ,
1256- macro_def. body . inner_tokens ( ) ,
1256+ & macro_def. body . inner_tokens ( ) ,
12571257 true ,
12581258 item. span ,
12591259 ) ;
@@ -1577,7 +1577,7 @@ impl<'a> State<'a> {
15771577 true ,
15781578 None ,
15791579 m. args . delim ( ) ,
1580- m. args . inner_tokens ( ) ,
1580+ & m. args . inner_tokens ( ) ,
15811581 true ,
15821582 m. span ( ) ,
15831583 ) ;
0 commit comments