@@ -11,7 +11,7 @@ use rustc_index::{IndexSlice, IndexVec};
11
11
use rustc_middle:: span_bug;
12
12
use rustc_middle:: ty:: { ResolverAstLowering , TyCtxt } ;
13
13
use rustc_span:: edit_distance:: find_best_match_for_name;
14
- use rustc_span:: { DesugaringKind , Ident , Span , Symbol , kw, sym} ;
14
+ use rustc_span:: { DUMMY_SP , DesugaringKind , Ident , Span , Symbol , kw, sym} ;
15
15
use smallvec:: { SmallVec , smallvec} ;
16
16
use thin_vec:: ThinVec ;
17
17
use tracing:: instrument;
@@ -93,7 +93,8 @@ impl<'a, 'hir> ItemLowerer<'a, 'hir> {
93
93
debug_assert_eq ! ( self . resolver. node_id_to_def_id[ & CRATE_NODE_ID ] , CRATE_DEF_ID ) ;
94
94
self . with_lctx ( CRATE_NODE_ID , |lctx| {
95
95
let module = lctx. lower_mod ( & c. items , & c. spans ) ;
96
- lctx. lower_attrs ( hir:: CRATE_HIR_ID , & c. attrs ) ;
96
+ // FIXME(jdonszelman): is dummy span ever a problem here?
97
+ lctx. lower_attrs ( hir:: CRATE_HIR_ID , & c. attrs , DUMMY_SP ) ;
97
98
hir:: OwnerNode :: Crate ( module)
98
99
} )
99
100
}
@@ -157,7 +158,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
157
158
let mut ident = i. ident ;
158
159
let vis_span = self . lower_span ( i. vis . span ) ;
159
160
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
160
- let attrs = self . lower_attrs ( hir_id, & i. attrs ) ;
161
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i . span ) ;
161
162
let kind = self . lower_item_kind ( i. span , i. id , hir_id, & mut ident, attrs, vis_span, & i. kind ) ;
162
163
let item = hir:: Item {
163
164
owner_id : hir_id. expect_owner ( ) ,
@@ -620,7 +621,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
620
621
fn lower_foreign_item ( & mut self , i : & ForeignItem ) -> & ' hir hir:: ForeignItem < ' hir > {
621
622
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
622
623
let owner_id = hir_id. expect_owner ( ) ;
623
- let attrs = self . lower_attrs ( hir_id, & i. attrs ) ;
624
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i . span ) ;
624
625
let item = hir:: ForeignItem {
625
626
owner_id,
626
627
ident : self . lower_ident ( i. ident ) ,
@@ -678,7 +679,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
678
679
679
680
fn lower_variant ( & mut self , v : & Variant ) -> hir:: Variant < ' hir > {
680
681
let hir_id = self . lower_node_id ( v. id ) ;
681
- self . lower_attrs ( hir_id, & v. attrs ) ;
682
+ self . lower_attrs ( hir_id, & v. attrs , v . span ) ;
682
683
hir:: Variant {
683
684
hir_id,
684
685
def_id : self . local_def_id ( v. id ) ,
@@ -740,7 +741,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
740
741
) -> hir:: FieldDef < ' hir > {
741
742
let ty = self . lower_ty ( & f. ty , ImplTraitContext :: Disallowed ( ImplTraitPosition :: FieldTy ) ) ;
742
743
let hir_id = self . lower_node_id ( f. id ) ;
743
- self . lower_attrs ( hir_id, & f. attrs ) ;
744
+ self . lower_attrs ( hir_id, & f. attrs , f . span ) ;
744
745
hir:: FieldDef {
745
746
span : self . lower_span ( f. span ) ,
746
747
hir_id,
@@ -759,7 +760,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
759
760
760
761
fn lower_trait_item ( & mut self , i : & AssocItem ) -> & ' hir hir:: TraitItem < ' hir > {
761
762
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
762
- let attrs = self . lower_attrs ( hir_id, & i. attrs ) ;
763
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i . span ) ;
763
764
let trait_item_def_id = hir_id. expect_owner ( ) ;
764
765
765
766
let ( generics, kind, has_default) = match & i. kind {
@@ -895,7 +896,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
895
896
let has_value = true ;
896
897
let ( defaultness, _) = self . lower_defaultness ( i. kind . defaultness ( ) , has_value) ;
897
898
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
898
- let attrs = self . lower_attrs ( hir_id, & i. attrs ) ;
899
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i . span ) ;
899
900
900
901
let ( generics, kind) = match & i. kind {
901
902
AssocItemKind :: Const ( box ConstItem { generics, ty, expr, .. } ) => self . lower_generics (
@@ -1056,7 +1057,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
1056
1057
1057
1058
fn lower_param ( & mut self , param : & Param ) -> hir:: Param < ' hir > {
1058
1059
let hir_id = self . lower_node_id ( param. id ) ;
1059
- self . lower_attrs ( hir_id, & param. attrs ) ;
1060
+ self . lower_attrs ( hir_id, & param. attrs , param . span ) ;
1060
1061
hir:: Param {
1061
1062
hir_id,
1062
1063
pat : self . lower_pat ( & param. pat ) ,
0 commit comments