@@ -1225,7 +1225,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
1225
1225
itctx,
1226
1226
TraitBoundModifiers :: NONE ,
1227
1227
) ;
1228
- let bound = ( bound, hir:: TraitBoundModifier :: None ) ;
1229
1228
let bounds = this. arena . alloc_from_iter ( [ bound] ) ;
1230
1229
let lifetime_bound = this. elided_dyn_bound ( t. span ) ;
1231
1230
( bounds, lifetime_bound)
@@ -1328,8 +1327,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
1328
1327
// const trait bounds in trait object types.
1329
1328
GenericBound :: Trait ( ty, modifiers) => {
1330
1329
let trait_ref = this. lower_poly_trait_ref ( ty, itctx, * modifiers) ;
1331
- let polarity = this. lower_trait_bound_modifiers ( * modifiers) ;
1332
- Some ( ( trait_ref, polarity) )
1330
+ Some ( trait_ref)
1333
1331
}
1334
1332
GenericBound :: Outlives ( lifetime) => {
1335
1333
if lifetime_bound. is_none ( ) {
@@ -1958,21 +1956,15 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
1958
1956
span_ext : DUMMY_SP ,
1959
1957
} ) ;
1960
1958
1961
- hir:: GenericBound :: Trait (
1962
- hir:: PolyTraitRef {
1963
- bound_generic_params : & [ ] ,
1964
- trait_ref : hir:: TraitRef {
1965
- path : self . make_lang_item_path (
1966
- trait_lang_item,
1967
- opaque_ty_span,
1968
- Some ( bound_args) ,
1969
- ) ,
1970
- hir_ref_id : self . next_id ( ) ,
1971
- } ,
1972
- span : opaque_ty_span,
1959
+ hir:: GenericBound :: Trait ( hir:: PolyTraitRef {
1960
+ bound_generic_params : & [ ] ,
1961
+ modifiers : hir:: TraitBoundModifier :: None ,
1962
+ trait_ref : hir:: TraitRef {
1963
+ path : self . make_lang_item_path ( trait_lang_item, opaque_ty_span, Some ( bound_args) ) ,
1964
+ hir_ref_id : self . next_id ( ) ,
1973
1965
} ,
1974
- hir :: TraitBoundModifier :: None ,
1975
- )
1966
+ span : opaque_ty_span ,
1967
+ } )
1976
1968
}
1977
1969
1978
1970
#[ instrument( level = "trace" , skip( self ) ) ]
@@ -1982,10 +1974,9 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
1982
1974
itctx : ImplTraitContext ,
1983
1975
) -> hir:: GenericBound < ' hir > {
1984
1976
match tpb {
1985
- GenericBound :: Trait ( p, modifiers) => hir:: GenericBound :: Trait (
1986
- self . lower_poly_trait_ref ( p, itctx, * modifiers) ,
1987
- self . lower_trait_bound_modifiers ( * modifiers) ,
1988
- ) ,
1977
+ GenericBound :: Trait ( p, modifiers) => {
1978
+ hir:: GenericBound :: Trait ( self . lower_poly_trait_ref ( p, itctx, * modifiers) )
1979
+ }
1989
1980
GenericBound :: Outlives ( lifetime) => {
1990
1981
hir:: GenericBound :: Outlives ( self . lower_lifetime ( lifetime) )
1991
1982
}
@@ -2194,7 +2185,13 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
2194
2185
let bound_generic_params =
2195
2186
self . lower_lifetime_binder ( p. trait_ref . ref_id , & p. bound_generic_params ) ;
2196
2187
let trait_ref = self . lower_trait_ref ( modifiers, & p. trait_ref , itctx) ;
2197
- hir:: PolyTraitRef { bound_generic_params, trait_ref, span : self . lower_span ( p. span ) }
2188
+ let modifiers = self . lower_trait_bound_modifiers ( modifiers) ;
2189
+ hir:: PolyTraitRef {
2190
+ bound_generic_params,
2191
+ modifiers,
2192
+ trait_ref,
2193
+ span : self . lower_span ( p. span ) ,
2194
+ }
2198
2195
}
2199
2196
2200
2197
fn lower_mt ( & mut self , mt : & MutTy , itctx : ImplTraitContext ) -> hir:: MutTy < ' hir > {
@@ -2634,10 +2631,10 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
2634
2631
Res :: Def ( DefKind :: Trait | DefKind :: TraitAlias , _) => {
2635
2632
let principal = hir:: PolyTraitRef {
2636
2633
bound_generic_params : & [ ] ,
2634
+ modifiers : hir:: TraitBoundModifier :: None ,
2637
2635
trait_ref : hir:: TraitRef { path, hir_ref_id : hir_id } ,
2638
2636
span : self . lower_span ( span) ,
2639
2637
} ;
2640
- let principal = ( principal, hir:: TraitBoundModifier :: None ) ;
2641
2638
2642
2639
// The original ID is taken by the `PolyTraitRef`,
2643
2640
// so the `Ty` itself needs a different one.
0 commit comments