@@ -27,7 +27,7 @@ use syntax::parse::token::{BinOpToken, DelimToken, Token};
2727use syntax:: print:: pprust;
2828use syntax:: source_map:: { BytePos , Span } ;
2929use syntax:: symbol;
30- use syntax:: tokenstream:: { Cursor , ThinTokenStream , TokenStream , TokenTree } ;
30+ use syntax:: tokenstream:: { Cursor , TokenStream , TokenTree } ;
3131use syntax:: ThinVec ;
3232use syntax:: { ast, parse, ptr} ;
3333
@@ -751,7 +751,7 @@ struct MacroArgParser {
751751fn last_tok ( tt : & TokenTree ) -> Token {
752752 match * tt {
753753 TokenTree :: Token ( _, ref t) => t. clone ( ) ,
754- TokenTree :: Delimited ( _, ref d ) => d . close_token ( ) ,
754+ TokenTree :: Delimited ( _, delim , _ ) => Token :: CloseDelim ( delim ) ,
755755 }
756756}
757757
@@ -916,11 +916,11 @@ impl MacroArgParser {
916916 }
917917
918918 /// Returns a collection of parsed macro def's arguments.
919- pub fn parse ( mut self , tokens : ThinTokenStream ) -> Option < Vec < ParsedMacroArg > > {
919+ pub fn parse ( mut self , tokens : TokenStream ) -> Option < Vec < ParsedMacroArg > > {
920920 let stream: TokenStream = tokens. into ( ) ;
921921 let mut iter = stream. trees ( ) ;
922922
923- while let Some ( ref tok) = iter. next ( ) {
923+ while let Some ( tok) = iter. next ( ) {
924924 match tok {
925925 TokenTree :: Token ( sp, Token :: Dollar ) => {
926926 // We always want to add a separator before meta variables.
@@ -937,7 +937,7 @@ impl MacroArgParser {
937937 self . add_meta_variable ( & mut iter) ?;
938938 }
939939 TokenTree :: Token ( sp, ref t) => self . update_buffer ( sp. lo ( ) , t) ,
940- TokenTree :: Delimited ( delimited_span, delimited) => {
940+ TokenTree :: Delimited ( delimited_span, delimited, ref tts ) => {
941941 if !self . buf . is_empty ( ) {
942942 if next_space ( & self . last_tok ) == SpaceState :: Always {
943943 self . add_separator ( ) ;
@@ -949,19 +949,19 @@ impl MacroArgParser {
949949 // Parse the stuff inside delimiters.
950950 let mut parser = MacroArgParser :: new ( ) ;
951951 parser. lo = delimited_span. open . lo ( ) ;
952- let delimited_arg = parser. parse ( delimited . tts . clone ( ) ) ?;
952+ let delimited_arg = parser. parse ( tts. clone ( ) ) ?;
953953
954954 let span = delimited_span. entire ( ) ;
955955 if self . is_meta_var {
956- self . add_repeat ( delimited_arg, delimited. delim , & mut iter, span) ?;
956+ self . add_repeat ( delimited_arg, delimited, & mut iter, span) ?;
957957 self . is_meta_var = false ;
958958 } else {
959- self . add_delimited ( delimited_arg, delimited. delim , span) ;
959+ self . add_delimited ( delimited_arg, delimited, span) ;
960960 }
961961 }
962962 }
963963
964- self . set_last_tok ( tok) ;
964+ self . set_last_tok ( & tok) ;
965965 }
966966
967967 // We are left with some stuff in the buffer. Since there is nothing
@@ -1027,11 +1027,7 @@ fn wrap_macro_args_inner(
10271027//
10281028// We always try and format on one line.
10291029// FIXME: Use multi-line when every thing does not fit on one line.
1030- fn format_macro_args (
1031- context : & RewriteContext ,
1032- toks : ThinTokenStream ,
1033- shape : Shape ,
1034- ) -> Option < String > {
1030+ fn format_macro_args ( context : & RewriteContext , toks : TokenStream , shape : Shape ) -> Option < String > {
10351031 if !context. config . format_macro_matchers ( ) {
10361032 let token_stream: TokenStream = toks. into ( ) ;
10371033 let span = span_for_token_stream ( & token_stream) ;
@@ -1176,7 +1172,7 @@ impl MacroParser {
11761172 let tok = self . toks . next ( ) ?;
11771173 let ( lo, args_paren_kind) = match tok {
11781174 TokenTree :: Token ( ..) => return None ,
1179- TokenTree :: Delimited ( delimited_span, ref d ) => ( delimited_span. open . lo ( ) , d. delim ) ,
1175+ TokenTree :: Delimited ( delimited_span, d , _ ) => ( delimited_span. open . lo ( ) , d) ,
11801176 } ;
11811177 let args = tok. joint ( ) . into ( ) ;
11821178 match self . toks . next ( ) ? {
@@ -1185,7 +1181,7 @@ impl MacroParser {
11851181 }
11861182 let ( mut hi, body, whole_body) = match self . toks . next ( ) ? {
11871183 TokenTree :: Token ( ..) => return None ,
1188- TokenTree :: Delimited ( delimited_span, _ ) => {
1184+ TokenTree :: Delimited ( delimited_span, .. ) => {
11891185 let data = delimited_span. entire ( ) . data ( ) ;
11901186 (
11911187 data. hi ,
@@ -1218,7 +1214,7 @@ struct Macro {
12181214struct MacroBranch {
12191215 span : Span ,
12201216 args_paren_kind : DelimToken ,
1221- args : ThinTokenStream ,
1217+ args : TokenStream ,
12221218 body : Span ,
12231219 whole_body : Span ,
12241220}
0 commit comments