aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src/infer/unify.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-03-20 09:47:46 +0000
committerGitHub <[email protected]>2021-03-20 09:47:46 +0000
commit3901c3b566a6834c64e029bd6f4fdaaf8b26f809 (patch)
treefedc1b02375558b9bd027a318c4bc131784d58c6 /crates/hir_ty/src/infer/unify.rs
parent8b16af590dd3d241bec07f69f4d4dadae9a4b523 (diff)
parent7a5fb37cf12f4e25ce1ba7e464dd257408444bfb (diff)
Merge #8115
8115: Rename GenericPredicate -> WhereClause r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/hir_ty/src/infer/unify.rs')
-rw-r--r--crates/hir_ty/src/infer/unify.rs17
1 files changed, 6 insertions, 11 deletions
diff --git a/crates/hir_ty/src/infer/unify.rs b/crates/hir_ty/src/infer/unify.rs
index 4738ec08a..5b7b423fa 100644
--- a/crates/hir_ty/src/infer/unify.rs
+++ b/crates/hir_ty/src/infer/unify.rs
@@ -7,8 +7,8 @@ use ena::unify::{InPlaceUnificationTable, NoError, UnifyKey, UnifyValue};
7 7
8use super::{InferenceContext, Obligation}; 8use super::{InferenceContext, Obligation};
9use crate::{ 9use crate::{
10 AliasEq, AliasTy, BoundVar, Canonical, DebruijnIndex, FnPointer, GenericPredicate, 10 AliasEq, AliasTy, BoundVar, Canonical, DebruijnIndex, FnPointer, InEnvironment, InferenceVar,
11 InEnvironment, InferenceVar, Interner, Scalar, Substitution, Ty, TyKind, TypeWalk, 11 Interner, Scalar, Substitution, Ty, TyKind, TypeWalk, WhereClause,
12}; 12};
13 13
14impl<'a> InferenceContext<'a> { 14impl<'a> InferenceContext<'a> {
@@ -382,21 +382,16 @@ impl InferenceTable {
382 } 382 }
383 } 383 }
384 384
385 fn unify_preds( 385 fn unify_preds(&mut self, pred1: &WhereClause, pred2: &WhereClause, depth: usize) -> bool {
386 &mut self,
387 pred1: &GenericPredicate,
388 pred2: &GenericPredicate,
389 depth: usize,
390 ) -> bool {
391 match (pred1, pred2) { 386 match (pred1, pred2) {
392 (GenericPredicate::Implemented(tr1), GenericPredicate::Implemented(tr2)) 387 (WhereClause::Implemented(tr1), WhereClause::Implemented(tr2))
393 if tr1.trait_id == tr2.trait_id => 388 if tr1.trait_id == tr2.trait_id =>
394 { 389 {
395 self.unify_substs(&tr1.substitution, &tr2.substitution, depth + 1) 390 self.unify_substs(&tr1.substitution, &tr2.substitution, depth + 1)
396 } 391 }
397 ( 392 (
398 GenericPredicate::AliasEq(AliasEq { alias: alias1, ty: ty1 }), 393 WhereClause::AliasEq(AliasEq { alias: alias1, ty: ty1 }),
399 GenericPredicate::AliasEq(AliasEq { alias: alias2, ty: ty2 }), 394 WhereClause::AliasEq(AliasEq { alias: alias2, ty: ty2 }),
400 ) => { 395 ) => {
401 let (substitution1, substitution2) = match (alias1, alias2) { 396 let (substitution1, substitution2) = match (alias1, alias2) {
402 (AliasTy::Projection(projection_ty1), AliasTy::Projection(projection_ty2)) 397 (AliasTy::Projection(projection_ty1), AliasTy::Projection(projection_ty2))