@@ -59,8 +59,7 @@ use crate::{
59
59
FnPointer , FnSig , FnSubst , ImplTrait , ImplTraitId , ImplTraits , Interner , Lifetime ,
60
60
LifetimeData , LifetimeOutlives , ParamKind , PlaceholderIndex , PolyFnSig , ProgramClause ,
61
61
ProjectionTy , QuantifiedWhereClause , QuantifiedWhereClauses , Substitution , TraitEnvironment ,
62
- TraitRef , TraitRefExt , Ty , TyBuilder , TyKind , VariableKind , VariableKinds , WhereClause ,
63
- all_super_traits,
62
+ TraitRef , TraitRefExt , Ty , TyBuilder , TyKind , VariableKinds , WhereClause , all_super_traits,
64
63
chalk_db:: generic_predicate_to_inline_bound,
65
64
consteval:: {
66
65
intern_const_ref, intern_const_scalar, path_to_const, unknown_const,
@@ -78,6 +77,7 @@ use crate::{
78
77
rpitit:: { RpititTraitAssocTy , RpititTraitAssocTyId } ,
79
78
static_lifetime, to_chalk_trait_id, to_placeholder_idx,
80
79
utils:: { InTypeConstIdMetadata , all_super_trait_refs} ,
80
+ variable_kinds_from_generics,
81
81
} ;
82
82
83
83
#[ derive( Debug , Default ) ]
@@ -390,9 +390,7 @@ impl<'a> TyLoweringContext<'a> {
390
390
|a| ImplTraitId :: TypeAliasImplTrait ( a, idx) ,
391
391
) ;
392
392
let opaque_ty_id = self . db . intern_impl_trait_id ( impl_trait_id) . into ( ) ;
393
- let generics =
394
- generics ( self . db . upcast ( ) , origin. either ( |f| f. into ( ) , |a| a. into ( ) ) ) ;
395
- let parameters = generics. bound_vars_subst ( self . db , self . in_binders ) ;
393
+ let parameters = self . subst_for_generics ( ) ;
396
394
TyKind :: OpaqueType ( opaque_ty_id, parameters) . intern ( Interner )
397
395
}
398
396
ImplTraitLoweringMode :: Param => {
@@ -588,15 +586,7 @@ impl<'a> TyLoweringContext<'a> {
588
586
589
587
let assoc_type_binders = VariableKinds :: from_iter (
590
588
Interner ,
591
- method_generics. iter_id ( ) . map ( |param_id| match param_id {
592
- GenericParamId :: TypeParamId ( _) => {
593
- VariableKind :: Ty ( chalk_ir:: TyVariableKind :: General )
594
- }
595
- GenericParamId :: ConstParamId ( param_id) => {
596
- VariableKind :: Const ( self . db . const_param_ty ( param_id) )
597
- }
598
- GenericParamId :: LifetimeParamId ( _) => VariableKind :: Lifetime ,
599
- } ) ,
589
+ variable_kinds_from_generics ( self . db , method_generics. iter_id ( ) ) ,
600
590
) ;
601
591
602
592
let returned_subst = self . subst_for_generics ( ) ;
0 commit comments