@@ -8,8 +8,7 @@ use rustc_macros::{Decodable, Encodable, HashStable};
88use  rustc_session:: Session ; 
99use  rustc_session:: lint:: builtin:: { self ,  FORBIDDEN_LINT_GROUPS } ; 
1010use  rustc_session:: lint:: { FutureIncompatibilityReason ,  Level ,  Lint ,  LintExpectationId ,  LintId } ; 
11- use  rustc_span:: hygiene:: { ExpnKind ,  MacroKind } ; 
12- use  rustc_span:: { DUMMY_SP ,  DesugaringKind ,  Span ,  Symbol ,  kw} ; 
11+ use  rustc_span:: { DUMMY_SP ,  Span ,  Symbol ,  kw} ; 
1312use  tracing:: instrument; 
1413
1514use  crate :: ty:: TyCtxt ; 
@@ -201,7 +200,7 @@ impl LintExpectation {
201200    } 
202201} 
203202
204- pub   fn  explain_lint_level_source ( 
203+ fn  explain_lint_level_source ( 
205204    lint :  & ' static  Lint , 
206205    level :  Level , 
207206    src :  LintLevelSource , 
@@ -325,7 +324,7 @@ pub fn lint_level(
325324        // If this code originates in a foreign macro, aka something that this crate 
326325        // did not itself author, then it's likely that there's nothing this crate 
327326        // can do about it. We probably want to skip the lint entirely. 
328-         if  err. span . primary_spans ( ) . iter ( ) . any ( |s| in_external_macro ( sess,   * s ) )  { 
327+         if  err. span . primary_spans ( ) . iter ( ) . any ( |s| s . in_external_macro ( sess. source_map ( ) ) )  { 
329328            // Any suggestions made here are likely to be incorrect, so anything we 
330329            // emit shouldn't be automatically fixed by rustfix. 
331330            err. disable_suggestions ( ) ; 
@@ -422,36 +421,3 @@ pub fn lint_level(
422421    } 
423422    lint_level_impl ( sess,  lint,  level,  src,  span,  Box :: new ( decorate) ) 
424423} 
425- 
426- /// Returns whether `span` originates in a foreign crate's external macro. 
427- /// 
428- /// This is used to test whether a lint should not even begin to figure out whether it should 
429- /// be reported on the current node. 
430- pub  fn  in_external_macro ( sess :  & Session ,  span :  Span )  -> bool  { 
431-     let  expn_data = span. ctxt ( ) . outer_expn_data ( ) ; 
432-     match  expn_data. kind  { 
433-         ExpnKind :: Root 
434-         | ExpnKind :: Desugaring ( 
435-             DesugaringKind :: ForLoop 
436-             | DesugaringKind :: WhileLoop 
437-             | DesugaringKind :: OpaqueTy 
438-             | DesugaringKind :: Async 
439-             | DesugaringKind :: Await , 
440-         )  => false , 
441-         ExpnKind :: AstPass ( _)  | ExpnKind :: Desugaring ( _)  => true ,  // well, it's "external" 
442-         ExpnKind :: Macro ( MacroKind :: Bang ,  _)  => { 
443-             // Dummy span for the `def_site` means it's an external macro. 
444-             expn_data. def_site . is_dummy ( )  || sess. source_map ( ) . is_imported ( expn_data. def_site ) 
445-         } 
446-         ExpnKind :: Macro  {  .. }  => true ,  // definitely a plugin 
447-     } 
448- } 
449- 
450- /// Return whether `span` is generated by `async` or `await`. 
451- pub  fn  is_from_async_await ( span :  Span )  -> bool  { 
452-     let  expn_data = span. ctxt ( ) . outer_expn_data ( ) ; 
453-     match  expn_data. kind  { 
454-         ExpnKind :: Desugaring ( DesugaringKind :: Async  | DesugaringKind :: Await )  => true , 
455-         _ => false , 
456-     } 
457- } 
0 commit comments