aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/lower.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/hir_ty/src/lower.rs')
-rw-r--r--crates/hir_ty/src/lower.rs18
1 files changed, 6 insertions, 12 deletions
diff --git a/crates/hir_ty/src/lower.rs b/crates/hir_ty/src/lower.rs
index 45591e920..f60cec649 100644
--- a/crates/hir_ty/src/lower.rs
+++ b/crates/hir_ty/src/lower.rs
@@ -825,7 +825,7 @@ pub fn associated_type_shorthand_candidates<R>(
825 let predicates = db.generic_predicates_for_param(param_id); 825 let predicates = db.generic_predicates_for_param(param_id);
826 let mut traits_: Vec<_> = predicates 826 let mut traits_: Vec<_> = predicates
827 .iter() 827 .iter()
828 .filter_map(|pred| match &pred.value { 828 .filter_map(|pred| match &pred.value.value {
829 WhereClause::Implemented(tr) => Some(tr.clone()), 829 WhereClause::Implemented(tr) => Some(tr.clone()),
830 _ => None, 830 _ => None,
831 }) 831 })
@@ -898,10 +898,7 @@ pub(crate) fn field_types_query(
898pub(crate) fn generic_predicates_for_param_query( 898pub(crate) fn generic_predicates_for_param_query(
899 db: &dyn HirDatabase, 899 db: &dyn HirDatabase,
900 param_id: TypeParamId, 900 param_id: TypeParamId,
901) -> Arc<[Binders<WhereClause>]> { 901) -> Arc<[Binders<QuantifiedWhereClause>]> {
902 // FIXME: these binders are for the type parameters of the def. We need to
903 // introduce another level of binders for quantified where clauses (for<'a>
904 // ...)
905 let resolver = param_id.parent.resolver(db.upcast()); 902 let resolver = param_id.parent.resolver(db.upcast());
906 let ctx = 903 let ctx =
907 TyLoweringContext::new(db, &resolver).with_type_param_mode(TypeParamLoweringMode::Variable); 904 TyLoweringContext::new(db, &resolver).with_type_param_mode(TypeParamLoweringMode::Variable);
@@ -920,7 +917,7 @@ pub(crate) fn generic_predicates_for_param_query(
920 WherePredicate::Lifetime { .. } => false, 917 WherePredicate::Lifetime { .. } => false,
921 }) 918 })
922 .flat_map(|pred| { 919 .flat_map(|pred| {
923 ctx.lower_where_predicate(pred, true).map(|p| Binders::new(generics.len(), p.value)) 920 ctx.lower_where_predicate(pred, true).map(|p| Binders::new(generics.len(), p))
924 }) 921 })
925 .collect() 922 .collect()
926} 923}
@@ -929,7 +926,7 @@ pub(crate) fn generic_predicates_for_param_recover(
929 _db: &dyn HirDatabase, 926 _db: &dyn HirDatabase,
930 _cycle: &[String], 927 _cycle: &[String],
931 _param_id: &TypeParamId, 928 _param_id: &TypeParamId,
932) -> Arc<[Binders<WhereClause>]> { 929) -> Arc<[Binders<QuantifiedWhereClause>]> {
933 Arc::new([]) 930 Arc::new([])
934} 931}
935 932
@@ -984,10 +981,7 @@ pub(crate) fn trait_environment_query(
984pub(crate) fn generic_predicates_query( 981pub(crate) fn generic_predicates_query(
985 db: &dyn HirDatabase, 982 db: &dyn HirDatabase,
986 def: GenericDefId, 983 def: GenericDefId,
987) -> Arc<[Binders<WhereClause>]> { 984) -> Arc<[Binders<QuantifiedWhereClause>]> {
988 // FIXME: these binders are for the type parameters of the def. We need to
989 // introduce another level of binders for quantified where clauses (for<'a>
990 // ...)
991 let resolver = def.resolver(db.upcast()); 985 let resolver = def.resolver(db.upcast());
992 let ctx = 986 let ctx =
993 TyLoweringContext::new(db, &resolver).with_type_param_mode(TypeParamLoweringMode::Variable); 987 TyLoweringContext::new(db, &resolver).with_type_param_mode(TypeParamLoweringMode::Variable);
@@ -995,7 +989,7 @@ pub(crate) fn generic_predicates_query(
995 resolver 989 resolver
996 .where_predicates_in_scope() 990 .where_predicates_in_scope()
997 .flat_map(|pred| { 991 .flat_map(|pred| {
998 ctx.lower_where_predicate(pred, false).map(|p| Binders::new(generics.len(), p.value)) 992 ctx.lower_where_predicate(pred, false).map(|p| Binders::new(generics.len(), p))
999 }) 993 })
1000 .collect() 994 .collect()
1001} 995}