Trait rustc_middle::ty::InferCtxtLike
source · pub trait InferCtxtLike {
type Interner: Interner;
// Required methods
fn interner(&self) -> Self::Interner;
fn universe_of_ty(&self, ty: TyVid) -> Option<UniverseIndex>;
fn root_ty_var(&self, vid: TyVid) -> TyVid;
fn probe_ty_var(
&self,
vid: TyVid
) -> Option<<Self::Interner as Interner>::Ty>;
fn universe_of_lt(
&self,
lt: <Self::Interner as Interner>::InferRegion
) -> Option<UniverseIndex>;
fn root_lt_var(
&self,
vid: <Self::Interner as Interner>::InferRegion
) -> <Self::Interner as Interner>::InferRegion;
fn probe_lt_var(
&self,
vid: <Self::Interner as Interner>::InferRegion
) -> Option<<Self::Interner as Interner>::Region>;
fn universe_of_ct(&self, ct: ConstVid) -> Option<UniverseIndex>;
fn root_ct_var(&self, vid: ConstVid) -> ConstVid;
fn probe_ct_var(
&self,
vid: ConstVid
) -> Option<<Self::Interner as Interner>::Const>;
}Required Associated Types§
Required Methods§
fn interner(&self) -> Self::Interner
fn universe_of_ty(&self, ty: TyVid) -> Option<UniverseIndex>
sourcefn root_ty_var(&self, vid: TyVid) -> TyVid
fn root_ty_var(&self, vid: TyVid) -> TyVid
Resolve TyVid to its root TyVid.
sourcefn probe_ty_var(&self, vid: TyVid) -> Option<<Self::Interner as Interner>::Ty>
fn probe_ty_var(&self, vid: TyVid) -> Option<<Self::Interner as Interner>::Ty>
Resolve TyVid to its inferred type, if it has been equated with a non-infer type.
fn universe_of_lt( &self, lt: <Self::Interner as Interner>::InferRegion ) -> Option<UniverseIndex>
sourcefn root_lt_var(
&self,
vid: <Self::Interner as Interner>::InferRegion
) -> <Self::Interner as Interner>::InferRegion
fn root_lt_var( &self, vid: <Self::Interner as Interner>::InferRegion ) -> <Self::Interner as Interner>::InferRegion
Resolve InferRegion to its root InferRegion.
sourcefn probe_lt_var(
&self,
vid: <Self::Interner as Interner>::InferRegion
) -> Option<<Self::Interner as Interner>::Region>
fn probe_lt_var( &self, vid: <Self::Interner as Interner>::InferRegion ) -> Option<<Self::Interner as Interner>::Region>
Resolve InferRegion to its inferred region, if it has been equated with a non-infer region.
fn universe_of_ct(&self, ct: ConstVid) -> Option<UniverseIndex>
sourcefn root_ct_var(&self, vid: ConstVid) -> ConstVid
fn root_ct_var(&self, vid: ConstVid) -> ConstVid
Resolve ConstVid to its root ConstVid.