pub trait Const<I>: Copy + DebugWithInfcx<I> + Hash + Eq + Into<<I as Interner>::GenericArg> + Into<<I as Interner>::Term> + IntoKind<Kind = ConstKind<I>> + TypeSuperVisitable<I> + TypeSuperFoldable<I> + Flagswhere
I: Interner<Const = Self>,{
// Required methods
fn new_infer(interner: I, var: InferConst, ty: <I as Interner>::Ty) -> Self;
fn new_var(interner: I, var: ConstVid, ty: <I as Interner>::Ty) -> Self;
fn new_bound(
interner: I,
debruijn: DebruijnIndex,
var: <I as Interner>::BoundConst,
ty: <I as Interner>::Ty,
) -> Self;
fn new_anon_bound(
interner: I,
debruijn: DebruijnIndex,
var: BoundVar,
ty: <I as Interner>::Ty,
) -> Self;
fn new_unevaluated(
interner: I,
uv: UnevaluatedConst<I>,
ty: <I as Interner>::Ty,
) -> Self;
fn ty(self) -> <I as Interner>::Ty;
}Required Methods§
fn new_infer(interner: I, var: InferConst, ty: <I as Interner>::Ty) -> Self
fn new_var(interner: I, var: ConstVid, ty: <I as Interner>::Ty) -> Self
fn new_bound( interner: I, debruijn: DebruijnIndex, var: <I as Interner>::BoundConst, ty: <I as Interner>::Ty, ) -> Self
fn new_anon_bound( interner: I, debruijn: DebruijnIndex, var: BoundVar, ty: <I as Interner>::Ty, ) -> Self
fn new_unevaluated( interner: I, uv: UnevaluatedConst<I>, ty: <I as Interner>::Ty, ) -> Self
fn ty(self) -> <I as Interner>::Ty
Object Safety§
This trait is not object safe.