@@ -1977,13 +1977,11 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
1977
1977
// ::std::future::Future<future_params>
1978
1978
let future_path =
1979
1979
self . std_path ( span, & [ sym:: future, sym:: Future ] , Some ( future_params) , false ) ;
1980
+ let future_trait_ref =
1981
+ hir:: TraitRef { path : future_path, hir_ref_id : self . next_id ( ) , constness : None } ;
1980
1982
1981
1983
hir:: GenericBound :: Trait (
1982
- hir:: PolyTraitRef {
1983
- trait_ref : hir:: TraitRef { path : future_path, hir_ref_id : self . next_id ( ) } ,
1984
- bound_generic_params : & [ ] ,
1985
- span,
1986
- } ,
1984
+ hir:: PolyTraitRef { trait_ref : future_trait_ref, bound_generic_params : & [ ] , span } ,
1987
1985
hir:: TraitBoundModifier :: None ,
1988
1986
)
1989
1987
}
@@ -2149,7 +2147,8 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
2149
2147
hir:: QPath :: Resolved ( None , path) => path,
2150
2148
qpath => bug ! ( "lower_trait_ref: unexpected QPath `{:?}`" , qpath) ,
2151
2149
} ;
2152
- hir:: TraitRef { path, hir_ref_id : self . lower_node_id ( p. ref_id ) }
2150
+
2151
+ hir:: TraitRef { path, hir_ref_id : self . lower_node_id ( p. ref_id ) , constness : p. constness }
2153
2152
}
2154
2153
2155
2154
fn lower_poly_trait_ref (
@@ -2463,8 +2462,8 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
2463
2462
Res :: Def ( DefKind :: Trait , _) | Res :: Def ( DefKind :: TraitAlias , _) => {
2464
2463
let principal = hir:: PolyTraitRef {
2465
2464
bound_generic_params : & [ ] ,
2466
- trait_ref : hir:: TraitRef { path, hir_ref_id : hir_id } ,
2467
2465
span,
2466
+ trait_ref : hir:: TraitRef { path, hir_ref_id : hir_id, constness : None } ,
2468
2467
} ;
2469
2468
2470
2469
// The original ID is taken by the `PolyTraitRef`,
0 commit comments