diff options
Diffstat (limited to 'compiler/rustc_next_trait_solver/src/delegate.rs')
| -rw-r--r-- | compiler/rustc_next_trait_solver/src/delegate.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/rustc_next_trait_solver/src/delegate.rs b/compiler/rustc_next_trait_solver/src/delegate.rs index 2d2d50e62f9..a64941cce3a 100644 --- a/compiler/rustc_next_trait_solver/src/delegate.rs +++ b/compiler/rustc_next_trait_solver/src/delegate.rs @@ -4,15 +4,13 @@ use rustc_type_ir::fold::TypeFoldable; use rustc_type_ir::solve::{Certainty, Goal, NoSolution}; use rustc_type_ir::{self as ty, InferCtxtLike, Interner}; -pub trait SolverDelegate: Deref<Target = <Self as SolverDelegate>::Infcx> + Sized { - type Infcx: InferCtxtLike<Interner = <Self as SolverDelegate>::Interner>; +pub trait SolverDelegate: Deref<Target = Self::Infcx> + Sized { + type Infcx: InferCtxtLike<Interner = Self::Interner>; type Interner: Interner; fn cx(&self) -> Self::Interner { (**self).cx() } - type Span: Copy; - fn build_with_canonical<V>( cx: Self::Interner, canonical: &ty::CanonicalQueryInput<Self::Interner, V>, @@ -23,7 +21,7 @@ pub trait SolverDelegate: Deref<Target = <Self as SolverDelegate>::Infcx> + Size fn fresh_var_for_kind_with_span( &self, arg: <Self::Interner as Interner>::GenericArg, - span: Self::Span, + span: <Self::Interner as Interner>::Span, ) -> <Self::Interner as Interner>::GenericArg; // FIXME: Uplift the leak check into this crate. @@ -61,6 +59,7 @@ pub trait SolverDelegate: Deref<Target = <Self as SolverDelegate>::Infcx> + Size fn instantiate_canonical_var_with_infer( &self, cv_info: ty::CanonicalVarInfo<Self::Interner>, + span: <Self::Interner as Interner>::Span, universe_map: impl Fn(ty::UniverseIndex) -> ty::UniverseIndex, ) -> <Self::Interner as Interner>::GenericArg; @@ -86,6 +85,7 @@ pub trait SolverDelegate: Deref<Target = <Self as SolverDelegate>::Infcx> + Size &self, key: ty::OpaqueTypeKey<Self::Interner>, hidden_ty: <Self::Interner as Interner>::Ty, + span: <Self::Interner as Interner>::Span, ); fn reset_opaque_types(&self); |
