@@ -7,12 +7,12 @@ use rustc_ast::mut_visit::*;
77use rustc_ast:: tokenstream:: TokenStream ;
88use rustc_ast:: visit:: { self , AssocCtxt , Visitor , VisitorResult , try_visit, walk_list} ;
99use rustc_ast:: {
10- self as ast, AssocItemKind , AstNodeWrapper , AttrArgs , AttrStyle , AttrVec , CRATE_NODE_ID ,
11- DUMMY_NODE_ID , ExprKind , ForeignItemKind , HasAttrs , HasNodeId , Inline , ItemKind , MacStmtStyle ,
12- MetaItemInner , MetaItemKind , ModKind , NodeId , PatKind , StmtKind , TyKind , token,
10+ self as ast, AssocItemKind , AstNodeWrapper , AttrArgs , AttrStyle , AttrVec , DUMMY_NODE_ID ,
11+ ExprKind , ForeignItemKind , HasAttrs , HasNodeId , Inline , ItemKind , MacStmtStyle , MetaItemInner ,
12+ MetaItemKind , ModKind , NodeId , PatKind , StmtKind , TyKind , token,
1313} ;
1414use rustc_ast_pretty:: pprust;
15- use rustc_attr_parsing:: { AttributeParser , EvalConfigResult , ShouldEmit , validate_attr} ;
15+ use rustc_attr_parsing:: { AttributeParser , Early , EvalConfigResult , ShouldEmit , validate_attr} ;
1616use rustc_data_structures:: flat_map_in_place:: FlatMapInPlace ;
1717use rustc_data_structures:: stack:: ensure_sufficient_stack;
1818use rustc_errors:: PResult ;
@@ -2165,7 +2165,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
21652165 None ,
21662166 Target :: MacroCall ,
21672167 call. span ( ) ,
2168- CRATE_NODE_ID ,
2168+ self . cx . current_expansion . lint_node_id ,
21692169 Some ( self . cx . ecfg . features ) ,
21702170 ShouldEmit :: ErrorsAndLints ,
21712171 ) ;
@@ -2184,7 +2184,9 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
21842184 self . cx . current_expansion . lint_node_id ,
21852185 BuiltinLintDiag :: UnusedDocComment ( attr. span ) ,
21862186 ) ;
2187- } else if rustc_attr_parsing:: is_builtin_attr ( attr) {
2187+ } else if rustc_attr_parsing:: is_builtin_attr ( attr)
2188+ && !AttributeParser :: < Early > :: is_parsed_attribute ( & attr. path ( ) )
2189+ {
21882190 let attr_name = attr. ident ( ) . unwrap ( ) . name ;
21892191 // `#[cfg]` and `#[cfg_attr]` are special - they are
21902192 // eagerly evaluated.
0 commit comments