Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/next_solver/infer/relate/lattice.rs')
-rw-r--r--crates/hir-ty/src/next_solver/infer/relate/lattice.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/crates/hir-ty/src/next_solver/infer/relate/lattice.rs b/crates/hir-ty/src/next_solver/infer/relate/lattice.rs
index c7f771ffe3..374895c337 100644
--- a/crates/hir-ty/src/next_solver/infer/relate/lattice.rs
+++ b/crates/hir-ty/src/next_solver/infer/relate/lattice.rs
@@ -30,7 +30,7 @@ use crate::next_solver::{
AliasTy, Binder, Const, DbInterner, Goal, ParamEnv, Predicate, PredicateKind, Region, Span, Ty,
TyKind,
infer::{
- DefineOpaqueTypes, InferCtxt, TypeTrace,
+ InferCtxt, TypeTrace,
relate::RelateResult,
traits::{Obligation, PredicateObligations},
},
@@ -92,10 +92,7 @@ impl<'db> TypeRelation<DbInterner<'db>> for LatticeOp<'_, 'db> {
match variance {
Variance::Invariant => {
self.obligations.extend(
- self.infcx
- .at(&self.trace.cause, self.param_env)
- .eq_trace(DefineOpaqueTypes::Yes, self.trace.clone(), a, b)?
- .into_obligations(),
+ self.infcx.at(&self.trace.cause, self.param_env).eq(a, b)?.into_obligations(),
);
Ok(a)
}
@@ -213,12 +210,12 @@ impl<'infcx, 'db> LatticeOp<'infcx, 'db> {
let at = self.infcx.at(&self.trace.cause, self.param_env);
match self.kind {
LatticeOpKind::Glb => {
- self.obligations.extend(at.sub(DefineOpaqueTypes::Yes, v, a)?.into_obligations());
- self.obligations.extend(at.sub(DefineOpaqueTypes::Yes, v, b)?.into_obligations());
+ self.obligations.extend(at.sub(v, a)?.into_obligations());
+ self.obligations.extend(at.sub(v, b)?.into_obligations());
}
LatticeOpKind::Lub => {
- self.obligations.extend(at.sub(DefineOpaqueTypes::Yes, a, v)?.into_obligations());
- self.obligations.extend(at.sub(DefineOpaqueTypes::Yes, b, v)?.into_obligations());
+ self.obligations.extend(at.sub(a, v)?.into_obligations());
+ self.obligations.extend(at.sub(b, v)?.into_obligations());
}
}
Ok(())