@@ -234,7 +234,7 @@ impl<'a> TyLoweringContext<'a> {
234234 let impl_trait_id = ImplTraitId :: ReturnTypeImplTrait ( func, idx) ;
235235 let opaque_ty_id = self . db . intern_impl_trait_id ( impl_trait_id) . into ( ) ;
236236 let generics = generics ( self . db . upcast ( ) , func. into ( ) ) ;
237- let parameters = Substitution :: bound_vars ( & generics, self . in_binders ) ;
237+ let parameters = generics. bound_vars_subst ( self . in_binders ) ;
238238 TyKind :: Alias ( AliasTy :: Opaque ( OpaqueTy {
239239 opaque_ty_id,
240240 substitution : parameters,
@@ -411,24 +411,16 @@ impl<'a> TyLoweringContext<'a> {
411411 TypeNs :: SelfType ( impl_id) => {
412412 let generics = generics ( self . db . upcast ( ) , impl_id. into ( ) ) ;
413413 let substs = match self . type_param_mode {
414- TypeParamLoweringMode :: Placeholder => {
415- Substitution :: type_params_for_generics ( self . db , & generics)
416- }
417- TypeParamLoweringMode :: Variable => {
418- Substitution :: bound_vars ( & generics, self . in_binders )
419- }
414+ TypeParamLoweringMode :: Placeholder => generics. type_params_subst ( self . db ) ,
415+ TypeParamLoweringMode :: Variable => generics. bound_vars_subst ( self . in_binders ) ,
420416 } ;
421417 self . db . impl_self_ty ( impl_id) . subst ( & substs)
422418 }
423419 TypeNs :: AdtSelfType ( adt) => {
424420 let generics = generics ( self . db . upcast ( ) , adt. into ( ) ) ;
425421 let substs = match self . type_param_mode {
426- TypeParamLoweringMode :: Placeholder => {
427- Substitution :: type_params_for_generics ( self . db , & generics)
428- }
429- TypeParamLoweringMode :: Variable => {
430- Substitution :: bound_vars ( & generics, self . in_binders )
431- }
422+ TypeParamLoweringMode :: Placeholder => generics. type_params_subst ( self . db ) ,
423+ TypeParamLoweringMode :: Variable => generics. bound_vars_subst ( self . in_binders ) ,
432424 } ;
433425 self . db . ty ( adt. into ( ) ) . subst ( & substs)
434426 }
@@ -1060,7 +1052,7 @@ fn fn_sig_for_fn(db: &dyn HirDatabase, def: FunctionId) -> PolyFnSig {
10601052/// function body.
10611053fn type_for_fn ( db : & dyn HirDatabase , def : FunctionId ) -> Binders < Ty > {
10621054 let generics = generics ( db. upcast ( ) , def. into ( ) ) ;
1063- let substs = Substitution :: bound_vars ( & generics, DebruijnIndex :: INNERMOST ) ;
1055+ let substs = generics. bound_vars_subst ( DebruijnIndex :: INNERMOST ) ;
10641056 Binders :: new (
10651057 substs. len ( & Interner ) ,
10661058 TyKind :: FnDef ( CallableDefId :: FunctionId ( def) . to_chalk ( db) , substs) . intern ( & Interner ) ,
@@ -1105,7 +1097,7 @@ fn type_for_struct_constructor(db: &dyn HirDatabase, def: StructId) -> Binders<T
11051097 return type_for_adt ( db, def. into ( ) ) ;
11061098 }
11071099 let generics = generics ( db. upcast ( ) , def. into ( ) ) ;
1108- let substs = Substitution :: bound_vars ( & generics, DebruijnIndex :: INNERMOST ) ;
1100+ let substs = generics. bound_vars_subst ( DebruijnIndex :: INNERMOST ) ;
11091101 Binders :: new (
11101102 substs. len ( & Interner ) ,
11111103 TyKind :: FnDef ( CallableDefId :: StructId ( def) . to_chalk ( db) , substs) . intern ( & Interner ) ,
@@ -1132,7 +1124,7 @@ fn type_for_enum_variant_constructor(db: &dyn HirDatabase, def: EnumVariantId) -
11321124 return type_for_adt ( db, def. parent . into ( ) ) ;
11331125 }
11341126 let generics = generics ( db. upcast ( ) , def. parent . into ( ) ) ;
1135- let substs = Substitution :: bound_vars ( & generics, DebruijnIndex :: INNERMOST ) ;
1127+ let substs = generics. bound_vars_subst ( DebruijnIndex :: INNERMOST ) ;
11361128 Binders :: new (
11371129 substs. len ( & Interner ) ,
11381130 TyKind :: FnDef ( CallableDefId :: EnumVariantId ( def) . to_chalk ( db) , substs) . intern ( & Interner ) ,
0 commit comments