diff options
Diffstat (limited to 'crates/ra_hir/src/ty/traits.rs')
-rw-r--r-- | crates/ra_hir/src/ty/traits.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/ra_hir/src/ty/traits.rs b/crates/ra_hir/src/ty/traits.rs index 2817c9e71..7dccd93be 100644 --- a/crates/ra_hir/src/ty/traits.rs +++ b/crates/ra_hir/src/ty/traits.rs | |||
@@ -27,7 +27,7 @@ struct ChalkContext<'a, DB> { | |||
27 | krate: Crate, | 27 | krate: Crate, |
28 | } | 28 | } |
29 | 29 | ||
30 | pub(crate) fn solver_query(_db: &impl HirDatabase, _krate: Crate) -> Arc<Mutex<Solver>> { | 30 | pub(crate) fn trait_solver_query(_db: &impl HirDatabase, _krate: Crate) -> Arc<Mutex<Solver>> { |
31 | // krate parameter is just so we cache a unique solver per crate | 31 | // krate parameter is just so we cache a unique solver per crate |
32 | let solver_choice = chalk_solve::SolverChoice::SLG { max_size: CHALK_SOLVER_MAX_SIZE }; | 32 | let solver_choice = chalk_solve::SolverChoice::SLG { max_size: CHALK_SOLVER_MAX_SIZE }; |
33 | debug!("Creating new solver for crate {:?}", _krate); | 33 | debug!("Creating new solver for crate {:?}", _krate); |
@@ -60,7 +60,7 @@ fn solve( | |||
60 | goal: &chalk_ir::UCanonical<chalk_ir::InEnvironment<chalk_ir::Goal>>, | 60 | goal: &chalk_ir::UCanonical<chalk_ir::InEnvironment<chalk_ir::Goal>>, |
61 | ) -> Option<chalk_solve::Solution> { | 61 | ) -> Option<chalk_solve::Solution> { |
62 | let context = ChalkContext { db, krate }; | 62 | let context = ChalkContext { db, krate }; |
63 | let solver = db.solver(krate); | 63 | let solver = db.trait_solver(krate); |
64 | debug!("solve goal: {:?}", goal); | 64 | debug!("solve goal: {:?}", goal); |
65 | let solution = solver.lock().solve_with_fuel(&context, goal, Some(1000)); | 65 | let solution = solver.lock().solve_with_fuel(&context, goal, Some(1000)); |
66 | debug!("solve({:?}) => {:?}", goal, solution); | 66 | debug!("solve({:?}) => {:?}", goal, solution); |
@@ -73,19 +73,19 @@ fn solve( | |||
73 | /// ``` | 73 | /// ``` |
74 | /// we assume that `T: Default`. | 74 | /// we assume that `T: Default`. |
75 | #[derive(Clone, Debug, PartialEq, Eq, Hash)] | 75 | #[derive(Clone, Debug, PartialEq, Eq, Hash)] |
76 | pub struct Environment { | 76 | pub struct TraitEnvironment { |
77 | pub predicates: Vec<GenericPredicate>, | 77 | pub predicates: Vec<GenericPredicate>, |
78 | } | 78 | } |
79 | 79 | ||
80 | /// Something (usually a goal), along with an environment. | 80 | /// Something (usually a goal), along with an environment. |
81 | #[derive(Clone, Debug, PartialEq, Eq, Hash)] | 81 | #[derive(Clone, Debug, PartialEq, Eq, Hash)] |
82 | pub struct InEnvironment<T> { | 82 | pub struct InEnvironment<T> { |
83 | pub environment: Arc<Environment>, | 83 | pub environment: Arc<TraitEnvironment>, |
84 | pub value: T, | 84 | pub value: T, |
85 | } | 85 | } |
86 | 86 | ||
87 | impl<T> InEnvironment<T> { | 87 | impl<T> InEnvironment<T> { |
88 | pub fn new(environment: Arc<Environment>, value: T) -> InEnvironment<T> { | 88 | pub fn new(environment: Arc<TraitEnvironment>, value: T) -> InEnvironment<T> { |
89 | InEnvironment { environment, value } | 89 | InEnvironment { environment, value } |
90 | } | 90 | } |
91 | } | 91 | } |
@@ -117,12 +117,12 @@ pub struct ProjectionPredicate { | |||
117 | } | 117 | } |
118 | 118 | ||
119 | /// Solve a trait goal using Chalk. | 119 | /// Solve a trait goal using Chalk. |
120 | pub(crate) fn solve_query( | 120 | pub(crate) fn trait_solve_query( |
121 | db: &impl HirDatabase, | 121 | db: &impl HirDatabase, |
122 | krate: Crate, | 122 | krate: Crate, |
123 | trait_ref: Canonical<InEnvironment<Obligation>>, | 123 | trait_ref: Canonical<InEnvironment<Obligation>>, |
124 | ) -> Option<Solution> { | 124 | ) -> Option<Solution> { |
125 | let _p = profile("solve_query"); | 125 | let _p = profile("trait_solve_query"); |
126 | let canonical = trait_ref.to_chalk(db).cast(); | 126 | let canonical = trait_ref.to_chalk(db).cast(); |
127 | // We currently don't deal with universes (I think / hope they're not yet | 127 | // We currently don't deal with universes (I think / hope they're not yet |
128 | // relevant for our use cases?) | 128 | // relevant for our use cases?) |