@@ -6,14 +6,13 @@ use rustc_ast::token::{self, Delimiter, IdentIsRaw, Lit, LitKind, Nonterminal, T
66use rustc_ast:: tokenstream:: { DelimSpacing , DelimSpan , Spacing , TokenStream , TokenTree } ;
77use rustc_data_structures:: fx:: FxHashMap ;
88use rustc_data_structures:: sync:: Lrc ;
9- use rustc_data_structures:: unord:: UnordMap ;
109use rustc_errors:: { Diag , DiagCtxtHandle , PResult , pluralize} ;
1110use rustc_parse:: lexer:: nfc_normalize;
1211use rustc_parse:: parser:: ParseNtResult ;
1312use rustc_session:: parse:: { ParseSess , SymbolGallery } ;
1413use rustc_span:: hygiene:: { LocalExpnId , Transparency } ;
1514use rustc_span:: {
16- Ident , MacroRulesNormalizedIdent , Span , Symbol , SyntaxContext , sym, with_metavar_spans_mut ,
15+ Ident , MacroRulesNormalizedIdent , Span , Symbol , SyntaxContext , sym, with_metavar_spans ,
1716} ;
1817use smallvec:: { SmallVec , smallvec} ;
1918
@@ -283,13 +282,13 @@ pub(super) fn transcribe<'a>(
283282 }
284283 MatchedSingle ( ParseNtResult :: Ident ( ident, is_raw) ) => {
285284 marker. visit_span ( & mut sp) ;
286- with_metavar_spans_mut ( |mspans| mspans. insert ( ident. span , sp) ) ;
285+ with_metavar_spans ( |mspans| mspans. insert ( ident. span , sp) ) ;
287286 let kind = token:: NtIdent ( * ident, * is_raw) ;
288287 TokenTree :: token_alone ( kind, sp)
289288 }
290289 MatchedSingle ( ParseNtResult :: Lifetime ( ident, is_raw) ) => {
291290 marker. visit_span ( & mut sp) ;
292- with_metavar_spans_mut ( |mspans| mspans. insert ( ident. span , sp) ) ;
291+ with_metavar_spans ( |mspans| mspans. insert ( ident. span , sp) ) ;
293292 let kind = token:: NtLifetime ( * ident, * is_raw) ;
294293 TokenTree :: token_alone ( kind, sp)
295294 }
@@ -299,7 +298,7 @@ pub(super) fn transcribe<'a>(
299298 // `Interpolated` is currently used for such groups in rustc parser.
300299 marker. visit_span ( & mut sp) ;
301300 let use_span = nt. use_span ( ) ;
302- with_metavar_spans_mut ( |mspans| mspans. insert ( use_span, sp) ) ;
301+ with_metavar_spans ( |mspans| mspans. insert ( use_span, sp) ) ;
303302 TokenTree :: token_alone ( token:: Interpolated ( Lrc :: clone ( nt) ) , sp)
304303 }
305304 MatchedSeq ( ..) => {
@@ -415,19 +414,15 @@ fn maybe_use_metavar_location(
415414 return orig_tt. clone ( ) ;
416415 }
417416
418- let insert = |mspans : & mut UnordMap < _ , _ > , s, ms| match mspans. try_insert ( s, ms) {
419- Ok ( _) => true ,
420- Err ( err) => * err. entry . get ( ) == ms, // Tried to insert the same span, still success
421- } ;
422417 marker. visit_span ( & mut metavar_span) ;
423418 let no_collision = match orig_tt {
424419 TokenTree :: Token ( token, ..) => {
425- with_metavar_spans_mut ( |mspans| insert ( mspans , token. span , metavar_span) )
420+ with_metavar_spans ( |mspans| mspans . insert ( token. span , metavar_span) )
426421 }
427- TokenTree :: Delimited ( dspan, ..) => with_metavar_spans_mut ( |mspans| {
428- insert ( mspans , dspan. open , metavar_span)
429- && insert ( mspans , dspan. close , metavar_span)
430- && insert ( mspans , dspan. entire ( ) , metavar_span)
422+ TokenTree :: Delimited ( dspan, ..) => with_metavar_spans ( |mspans| {
423+ mspans . insert ( dspan. open , metavar_span)
424+ && mspans . insert ( dspan. close , metavar_span)
425+ && mspans . insert ( dspan. entire ( ) , metavar_span)
431426 } ) ,
432427 } ;
433428 if no_collision || psess. source_map ( ) . is_imported ( metavar_span) {
@@ -439,14 +434,14 @@ fn maybe_use_metavar_location(
439434 match orig_tt {
440435 TokenTree :: Token ( Token { kind, span } , spacing) => {
441436 let span = metavar_span. with_ctxt ( span. ctxt ( ) ) ;
442- with_metavar_spans_mut ( |mspans| insert ( mspans , span, metavar_span) ) ;
437+ with_metavar_spans ( |mspans| mspans . insert ( span, metavar_span) ) ;
443438 TokenTree :: Token ( Token { kind : kind. clone ( ) , span } , * spacing)
444439 }
445440 TokenTree :: Delimited ( dspan, dspacing, delimiter, tts) => {
446441 let open = metavar_span. with_ctxt ( dspan. open . ctxt ( ) ) ;
447442 let close = metavar_span. with_ctxt ( dspan. close . ctxt ( ) ) ;
448- with_metavar_spans_mut ( |mspans| {
449- insert ( mspans , open, metavar_span) && insert ( mspans , close, metavar_span)
443+ with_metavar_spans ( |mspans| {
444+ mspans . insert ( open, metavar_span) && mspans . insert ( close, metavar_span)
450445 } ) ;
451446 let dspan = DelimSpan :: from_pair ( open, close) ;
452447 TokenTree :: Delimited ( dspan, * dspacing, * delimiter, tts. clone ( ) )
0 commit comments