@@ -10,7 +10,7 @@ use rustc_index::{IndexSlice, IndexVec};
10
10
use rustc_middle:: span_bug;
11
11
use rustc_middle:: ty:: { ResolverAstLowering , TyCtxt } ;
12
12
use rustc_span:: edit_distance:: find_best_match_for_name;
13
- use rustc_span:: { DesugaringKind , Ident , Span , Symbol , kw, sym} ;
13
+ use rustc_span:: { DUMMY_SP , DesugaringKind , Ident , Span , Symbol , kw, sym} ;
14
14
use rustc_target:: spec:: abi;
15
15
use smallvec:: { SmallVec , smallvec} ;
16
16
use thin_vec:: ThinVec ;
@@ -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 ( ) ,
@@ -610,7 +611,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
610
611
fn lower_foreign_item ( & mut self , i : & ForeignItem ) -> & ' hir hir:: ForeignItem < ' hir > {
611
612
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
612
613
let owner_id = hir_id. expect_owner ( ) ;
613
- let attrs = self . lower_attrs ( hir_id, & i. attrs ) ;
614
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i . span ) ;
614
615
let item = hir:: ForeignItem {
615
616
owner_id,
616
617
ident : self . lower_ident ( i. ident ) ,
@@ -668,7 +669,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
668
669
669
670
fn lower_variant ( & mut self , v : & Variant ) -> hir:: Variant < ' hir > {
670
671
let hir_id = self . lower_node_id ( v. id ) ;
671
- self . lower_attrs ( hir_id, & v. attrs ) ;
672
+ self . lower_attrs ( hir_id, & v. attrs , v . span ) ;
672
673
hir:: Variant {
673
674
hir_id,
674
675
def_id : self . local_def_id ( v. id ) ,
@@ -730,7 +731,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
730
731
) -> hir:: FieldDef < ' hir > {
731
732
let ty = self . lower_ty ( & f. ty , ImplTraitContext :: Disallowed ( ImplTraitPosition :: FieldTy ) ) ;
732
733
let hir_id = self . lower_node_id ( f. id ) ;
733
- self . lower_attrs ( hir_id, & f. attrs ) ;
734
+ self . lower_attrs ( hir_id, & f. attrs , f . span ) ;
734
735
hir:: FieldDef {
735
736
span : self . lower_span ( f. span ) ,
736
737
hir_id,
@@ -749,7 +750,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
749
750
750
751
fn lower_trait_item ( & mut self , i : & AssocItem ) -> & ' hir hir:: TraitItem < ' hir > {
751
752
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
752
- let attrs = self . lower_attrs ( hir_id, & i. attrs ) ;
753
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i . span ) ;
753
754
let trait_item_def_id = hir_id. expect_owner ( ) ;
754
755
755
756
let ( generics, kind, has_default) = match & i. kind {
@@ -882,7 +883,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
882
883
let has_value = true ;
883
884
let ( defaultness, _) = self . lower_defaultness ( i. kind . defaultness ( ) , has_value) ;
884
885
let hir_id = hir:: HirId :: make_owner ( self . current_hir_id_owner . def_id ) ;
885
- let attrs = self . lower_attrs ( hir_id, & i. attrs ) ;
886
+ let attrs = self . lower_attrs ( hir_id, & i. attrs , i . span ) ;
886
887
887
888
let ( generics, kind) = match & i. kind {
888
889
AssocItemKind :: Const ( box ConstItem { generics, ty, expr, .. } ) => self . lower_generics (
@@ -1039,7 +1040,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
1039
1040
1040
1041
fn lower_param ( & mut self , param : & Param ) -> hir:: Param < ' hir > {
1041
1042
let hir_id = self . lower_node_id ( param. id ) ;
1042
- self . lower_attrs ( hir_id, & param. attrs ) ;
1043
+ self . lower_attrs ( hir_id, & param. attrs , param . span ) ;
1043
1044
hir:: Param {
1044
1045
hir_id,
1045
1046
pat : self . lower_pat ( & param. pat ) ,
0 commit comments