@@ -487,6 +487,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
487487 parent : LocalDefId ,
488488 node_id : ast:: NodeId ,
489489 data : DefPathData ,
490+ span : Span ,
490491 ) -> LocalDefId {
491492 debug_assert_ne ! ( node_id, ast:: DUMMY_NODE_ID ) ;
492493 assert ! (
@@ -497,7 +498,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
497498 self . tcx. hir( ) . def_key( self . local_def_id( node_id) ) ,
498499 ) ;
499500
500- let def_id = self . tcx . create_def ( parent, data) . def_id ( ) ;
501+ let def_id = self . tcx . at ( span ) . create_def ( parent, data) . def_id ( ) ;
501502
502503 debug ! ( "create_def: def_id_to_node_id[{:?}] <-> {:?}" , def_id, node_id) ;
503504 self . resolver . node_id_to_def_id . insert ( node_id, def_id) ;
@@ -823,6 +824,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
823824 self . current_hir_id_owner . def_id ,
824825 param,
825826 DefPathData :: LifetimeNs ( kw:: UnderscoreLifetime ) ,
827+ ident. span ,
826828 ) ;
827829 debug ! ( ?_def_id) ;
828830
@@ -1151,15 +1153,16 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
11511153
11521154 let parent_def_id = self . current_hir_id_owner ;
11531155 let node_id = self . next_node_id ( ) ;
1156+ let span = self . lower_span ( ty. span ) ;
11541157
11551158 // Add a definition for the in-band const def.
11561159 let def_id = self . create_def (
11571160 parent_def_id. def_id ,
11581161 node_id,
11591162 DefPathData :: AnonConst ,
1163+ span,
11601164 ) ;
11611165
1162- let span = self . lower_span ( ty. span ) ;
11631166 let path_expr = Expr {
11641167 id : ty. id ,
11651168 kind : ExprKind :: Path ( qself. clone ( ) , path. clone ( ) ) ,
@@ -1353,12 +1356,13 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
13531356 itctx,
13541357 ) ,
13551358 ImplTraitContext :: Universal => {
1359+ let span = t. span ;
13561360 self . create_def (
13571361 self . current_hir_id_owner . def_id ,
13581362 * def_node_id,
13591363 DefPathData :: ImplTrait ,
1364+ span,
13601365 ) ;
1361- let span = t. span ;
13621366 let ident = Ident :: from_str_and_span ( & pprust:: ty_to_string ( t) , span) ;
13631367 let ( param, bounds, path) =
13641368 self . lower_generic_and_bounds ( * def_node_id, span, ident, bounds) ;
@@ -1455,6 +1459,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
14551459 self . current_hir_id_owner . def_id ,
14561460 opaque_ty_node_id,
14571461 DefPathData :: ImplTrait ,
1462+ opaque_ty_span,
14581463 ) ;
14591464 debug ! ( ?opaque_ty_def_id) ;
14601465
@@ -1608,6 +1613,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
16081613 parent_def_id,
16091614 node_id,
16101615 DefPathData :: LifetimeNs ( lifetime. ident . name ) ,
1616+ lifetime. ident . span ,
16111617 ) ;
16121618 remapping. insert ( old_def_id, new_def_id) ;
16131619
@@ -1624,6 +1630,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
16241630 parent_def_id,
16251631 node_id,
16261632 DefPathData :: LifetimeNs ( kw:: UnderscoreLifetime ) ,
1633+ lifetime. ident . span ,
16271634 ) ;
16281635 remapping. insert ( old_def_id, new_def_id) ;
16291636
@@ -1806,7 +1813,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
18061813 let fn_def_id = self . local_def_id ( fn_node_id) ;
18071814
18081815 let opaque_ty_def_id =
1809- self . create_def ( fn_def_id, opaque_ty_node_id, DefPathData :: ImplTrait ) ;
1816+ self . create_def ( fn_def_id, opaque_ty_node_id, DefPathData :: ImplTrait , opaque_ty_span ) ;
18101817
18111818 // When we create the opaque type for this async fn, it is going to have
18121819 // to capture all the lifetimes involved in the signature (including in the
@@ -1866,6 +1873,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
18661873 opaque_ty_def_id,
18671874 inner_node_id,
18681875 DefPathData :: LifetimeNs ( ident. name ) ,
1876+ ident. span ,
18691877 ) ;
18701878 new_remapping. insert ( outer_def_id, inner_def_id) ;
18711879
0 commit comments