about summary refs log tree commit diff
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2024-10-17 11:38:40 +0200
committerlcnr <rust@lcnr.de>2024-10-17 11:38:40 +0200
commitc45073ec3ea800b31e634db9de1b51f978521ad5 (patch)
treedb2354b492fbba12fc422d9ba7eb2a9b92dba48a
parent06d261daf62620e3449ba451898c7ad9ae750f41 (diff)
downloadrust-c45073ec3ea800b31e634db9de1b51f978521ad5.tar.gz
rust-c45073ec3ea800b31e634db9de1b51f978521ad5.zip
SolverDelegate add assoc type for Infcx
-rw-r--r--compiler/rustc_next_trait_solver/src/delegate.rs5
-rw-r--r--compiler/rustc_trait_selection/src/solve/delegate.rs1
2 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_next_trait_solver/src/delegate.rs b/compiler/rustc_next_trait_solver/src/delegate.rs
index 6a3d58b5906..9b656579ca5 100644
--- a/compiler/rustc_next_trait_solver/src/delegate.rs
+++ b/compiler/rustc_next_trait_solver/src/delegate.rs
@@ -4,9 +4,8 @@ use rustc_type_ir::fold::TypeFoldable;
 use rustc_type_ir::solve::{Certainty, Goal, NoSolution, SolverMode};
 use rustc_type_ir::{self as ty, InferCtxtLike, Interner};
 
-pub trait SolverDelegate:
-    Deref<Target: InferCtxtLike<Interner = <Self as SolverDelegate>::Interner>> + Sized
-{
+pub trait SolverDelegate: Deref<Target = <Self as SolverDelegate>::Infcx> + Sized {
+    type Infcx: InferCtxtLike<Interner = <Self as SolverDelegate>::Interner>;
     type Interner: Interner;
     fn cx(&self) -> Self::Interner {
         (**self).cx()
diff --git a/compiler/rustc_trait_selection/src/solve/delegate.rs b/compiler/rustc_trait_selection/src/solve/delegate.rs
index df9ac2b80fd..b13965db18b 100644
--- a/compiler/rustc_trait_selection/src/solve/delegate.rs
+++ b/compiler/rustc_trait_selection/src/solve/delegate.rs
@@ -36,6 +36,7 @@ impl<'tcx> Deref for SolverDelegate<'tcx> {
 }
 
 impl<'tcx> rustc_next_trait_solver::delegate::SolverDelegate for SolverDelegate<'tcx> {
+    type Infcx = InferCtxt<'tcx>;
     type Interner = TyCtxt<'tcx>;
 
     fn cx(&self) -> TyCtxt<'tcx> {