@@ -7,12 +7,12 @@ use rustc_ast::mut_visit::*;
7
7
use rustc_ast:: tokenstream:: TokenStream ;
8
8
use rustc_ast:: visit:: { self , AssocCtxt , Visitor , VisitorResult , try_visit, walk_list} ;
9
9
use 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,
13
13
} ;
14
14
use 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} ;
16
16
use rustc_data_structures:: flat_map_in_place:: FlatMapInPlace ;
17
17
use rustc_data_structures:: stack:: ensure_sufficient_stack;
18
18
use rustc_errors:: PResult ;
@@ -2165,7 +2165,7 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
2165
2165
None ,
2166
2166
Target :: MacroCall ,
2167
2167
call. span ( ) ,
2168
- CRATE_NODE_ID ,
2168
+ self . cx . current_expansion . lint_node_id ,
2169
2169
Some ( self . cx . ecfg . features ) ,
2170
2170
ShouldEmit :: ErrorsAndLints ,
2171
2171
) ;
@@ -2184,7 +2184,9 @@ impl<'a, 'b> InvocationCollector<'a, 'b> {
2184
2184
self . cx . current_expansion . lint_node_id ,
2185
2185
BuiltinLintDiag :: UnusedDocComment ( attr. span ) ,
2186
2186
) ;
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
+ {
2188
2190
let attr_name = attr. ident ( ) . unwrap ( ) . name ;
2189
2191
// `#[cfg]` and `#[cfg_attr]` are special - they are
2190
2192
// eagerly evaluated.
0 commit comments