aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/traits.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_ty/src/traits.rs')
-rw-r--r--crates/ra_hir_ty/src/traits.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/ra_hir_ty/src/traits.rs b/crates/ra_hir_ty/src/traits.rs
index 2317fcac3..17aef9490 100644
--- a/crates/ra_hir_ty/src/traits.rs
+++ b/crates/ra_hir_ty/src/traits.rs
@@ -14,7 +14,7 @@ use crate::db::HirDatabase;
14 14
15use super::{Canonical, GenericPredicate, HirDisplay, ProjectionTy, TraitRef, Ty, TypeWalk}; 15use super::{Canonical, GenericPredicate, HirDisplay, ProjectionTy, TraitRef, Ty, TypeWalk};
16 16
17use self::chalk::{from_chalk, ToChalk, TypeFamily}; 17use self::chalk::{from_chalk, Interner, ToChalk};
18 18
19pub(crate) mod chalk; 19pub(crate) mod chalk;
20mod builtin; 20mod builtin;
@@ -22,7 +22,7 @@ mod builtin;
22#[derive(Debug, Clone)] 22#[derive(Debug, Clone)]
23pub struct TraitSolver { 23pub struct TraitSolver {
24 krate: CrateId, 24 krate: CrateId,
25 inner: Arc<Mutex<chalk_solve::Solver<TypeFamily>>>, 25 inner: Arc<Mutex<chalk_solve::Solver<Interner>>>,
26} 26}
27 27
28/// We need eq for salsa 28/// We need eq for salsa
@@ -38,8 +38,8 @@ impl TraitSolver {
38 fn solve( 38 fn solve(
39 &self, 39 &self,
40 db: &impl HirDatabase, 40 db: &impl HirDatabase,
41 goal: &chalk_ir::UCanonical<chalk_ir::InEnvironment<chalk_ir::Goal<TypeFamily>>>, 41 goal: &chalk_ir::UCanonical<chalk_ir::InEnvironment<chalk_ir::Goal<Interner>>>,
42 ) -> Option<chalk_solve::Solution<TypeFamily>> { 42 ) -> Option<chalk_solve::Solution<Interner>> {
43 let context = ChalkContext { db, krate: self.krate }; 43 let context = ChalkContext { db, krate: self.krate };
44 log::debug!("solve goal: {:?}", goal); 44 log::debug!("solve goal: {:?}", goal);
45 let mut solver = match self.inner.lock() { 45 let mut solver = match self.inner.lock() {
@@ -110,7 +110,7 @@ pub(crate) fn trait_solver_query(
110 TraitSolver { krate, inner: Arc::new(Mutex::new(create_chalk_solver())) } 110 TraitSolver { krate, inner: Arc::new(Mutex::new(create_chalk_solver())) }
111} 111}
112 112
113fn create_chalk_solver() -> chalk_solve::Solver<TypeFamily> { 113fn create_chalk_solver() -> chalk_solve::Solver<Interner> {
114 let solver_choice = 114 let solver_choice =
115 chalk_solve::SolverChoice::SLG { max_size: CHALK_SOLVER_MAX_SIZE, expected_answers: None }; 115 chalk_solve::SolverChoice::SLG { max_size: CHALK_SOLVER_MAX_SIZE, expected_answers: None };
116 solver_choice.into_solver() 116 solver_choice.into_solver()
@@ -242,9 +242,9 @@ pub(crate) fn trait_solve_query(
242 242
243fn solution_from_chalk( 243fn solution_from_chalk(
244 db: &impl HirDatabase, 244 db: &impl HirDatabase,
245 solution: chalk_solve::Solution<TypeFamily>, 245 solution: chalk_solve::Solution<Interner>,
246) -> Solution { 246) -> Solution {
247 let convert_subst = |subst: chalk_ir::Canonical<chalk_ir::Substitution<TypeFamily>>| { 247 let convert_subst = |subst: chalk_ir::Canonical<chalk_ir::Substitution<Interner>>| {
248 let value = subst 248 let value = subst
249 .value 249 .value
250 .into_iter() 250 .into_iter()