@@ -13,7 +13,7 @@ use std::collections::HashMap;
1313use std:: panic:: { catch_unwind, AssertUnwindSafe } ;
1414
1515use rustc_ast:: token:: { BinOpToken , Delimiter , Token , TokenKind } ;
16- use rustc_ast:: tokenstream:: { Cursor , TokenStream , TokenTree } ;
16+ use rustc_ast:: tokenstream:: { Cursor , Spacing , TokenStream , TokenTree } ;
1717use rustc_ast:: { ast, ptr} ;
1818use rustc_ast_pretty:: pprust;
1919use rustc_span:: {
@@ -682,7 +682,7 @@ struct MacroArgParser {
682682
683683fn last_tok ( tt : & TokenTree ) -> Token {
684684 match * tt {
685- TokenTree :: Token ( ref t, _ ) => t. clone ( ) ,
685+ TokenTree :: Token ( ref t) => t. clone ( ) ,
686686 TokenTree :: Delimited ( delim_span, delim, _) => Token {
687687 kind : TokenKind :: CloseDelim ( delim) ,
688688 span : delim_span. close ,
@@ -737,13 +737,10 @@ impl MacroArgParser {
737737
738738 fn add_meta_variable ( & mut self , iter : & mut Cursor ) -> Option < ( ) > {
739739 match iter. next ( ) {
740- Some ( TokenTree :: Token (
741- Token {
742- kind : TokenKind :: Ident ( name, _) ,
743- ..
744- } ,
745- _,
746- ) ) => {
740+ Some ( TokenTree :: Token ( Token {
741+ kind : TokenKind :: Ident ( name, _) ,
742+ ..
743+ } ) ) => {
747744 self . result . push ( ParsedMacroArg {
748745 kind : MacroArgKind :: MetaVariable ( name, self . buf . clone ( ) ) ,
749746 } ) ;
@@ -780,30 +777,21 @@ impl MacroArgParser {
780777 }
781778
782779 match tok {
783- TokenTree :: Token (
784- Token {
785- kind : TokenKind :: BinOp ( BinOpToken :: Plus ) ,
786- ..
787- } ,
788- _,
789- )
790- | TokenTree :: Token (
791- Token {
792- kind : TokenKind :: Question ,
793- ..
794- } ,
795- _,
796- )
797- | TokenTree :: Token (
798- Token {
799- kind : TokenKind :: BinOp ( BinOpToken :: Star ) ,
800- ..
801- } ,
802- _,
803- ) => {
780+ TokenTree :: Token ( Token {
781+ kind : TokenKind :: BinOp ( BinOpToken :: Plus ) ,
782+ ..
783+ } )
784+ | TokenTree :: Token ( Token {
785+ kind : TokenKind :: Question ,
786+ ..
787+ } )
788+ | TokenTree :: Token ( Token {
789+ kind : TokenKind :: BinOp ( BinOpToken :: Star ) ,
790+ ..
791+ } ) => {
804792 break ;
805793 }
806- TokenTree :: Token ( ref t, _ ) => {
794+ TokenTree :: Token ( ref t) => {
807795 buffer. push_str ( & pprust:: token_to_string ( t) ) ;
808796 }
809797 _ => return None ,
@@ -871,13 +859,10 @@ impl MacroArgParser {
871859
872860 while let Some ( tok) = iter. next ( ) {
873861 match tok {
874- TokenTree :: Token (
875- Token {
876- kind : TokenKind :: Dollar ,
877- span,
878- } ,
879- _,
880- ) => {
862+ TokenTree :: Token ( Token {
863+ kind : TokenKind :: Dollar ,
864+ span,
865+ } ) => {
881866 // We always want to add a separator before meta variables.
882867 if !self . buf . is_empty ( ) {
883868 self . add_separator ( ) ;
@@ -890,16 +875,13 @@ impl MacroArgParser {
890875 span,
891876 } ;
892877 }
893- TokenTree :: Token (
894- Token {
895- kind : TokenKind :: Colon ,
896- ..
897- } ,
898- _,
899- ) if self . is_meta_var => {
878+ TokenTree :: Token ( Token {
879+ kind : TokenKind :: Colon ,
880+ ..
881+ } ) if self . is_meta_var => {
900882 self . add_meta_variable ( & mut iter) ?;
901883 }
902- TokenTree :: Token ( ref t, _ ) => self . update_buffer ( t) ,
884+ TokenTree :: Token ( ref t) => self . update_buffer ( t) ,
903885 TokenTree :: Delimited ( _delimited_span, delimited, ref tts) => {
904886 if !self . buf . is_empty ( ) {
905887 if next_space ( & self . last_tok . kind ) == SpaceState :: Always {
@@ -1141,15 +1123,12 @@ impl MacroParser {
11411123 TokenTree :: Token ( ..) => return None ,
11421124 TokenTree :: Delimited ( delimited_span, d, _) => ( delimited_span. open . lo ( ) , d) ,
11431125 } ;
1144- let args = TokenStream :: new ( vec ! [ tok] ) ;
1126+ let args = TokenStream :: new ( vec ! [ ( tok, Spacing :: Joint ) ] ) ;
11451127 match self . toks . next ( ) ? {
1146- TokenTree :: Token (
1147- Token {
1148- kind : TokenKind :: FatArrow ,
1149- ..
1150- } ,
1151- _,
1152- ) => { }
1128+ TokenTree :: Token ( Token {
1129+ kind : TokenKind :: FatArrow ,
1130+ ..
1131+ } ) => { }
11531132 _ => return None ,
11541133 }
11551134 let ( mut hi, body, whole_body) = match self . toks . next ( ) ? {
@@ -1168,13 +1147,10 @@ impl MacroParser {
11681147 )
11691148 }
11701149 } ;
1171- if let Some ( TokenTree :: Token (
1172- Token {
1173- kind : TokenKind :: Semi ,
1174- span,
1175- } ,
1176- _,
1177- ) ) = self . toks . look_ahead ( 0 )
1150+ if let Some ( TokenTree :: Token ( Token {
1151+ kind : TokenKind :: Semi ,
1152+ span,
1153+ } ) ) = self . toks . look_ahead ( 0 )
11781154 {
11791155 hi = span. hi ( ) ;
11801156 self . toks . next ( ) ;
0 commit comments