pub trait Const<I>: Copy + Debug + Hash + Eq + Into<<I as Interner>::GenericArg> + Into<<I as Interner>::Term> + IntoKind<Kind = ConstKind<I>> + TypeSuperVisitable<I> + TypeSuperFoldable<I> + Relate<I> + Flagswhere
I: Interner<Const = Self>,{
// Required methods
fn try_to_target_usize(self, interner: I) -> Option<u64>;
fn new_infer(interner: I, var: InferConst) -> Self;
fn new_var(interner: I, var: ConstVid) -> Self;
fn new_bound(
interner: I,
debruijn: DebruijnIndex,
var: <I as Interner>::BoundConst,
) -> Self;
fn new_anon_bound(
interner: I,
debruijn: DebruijnIndex,
var: BoundVar,
) -> Self;
fn new_unevaluated(interner: I, uv: UnevaluatedConst<I>) -> Self;
fn new_expr(interner: I, expr: <I as Interner>::ExprConst) -> Self;
fn new_error(interner: I, guar: <I as Interner>::ErrorGuaranteed) -> Self;
// Provided methods
fn new_error_with_message(interner: I, msg: impl ToString) -> Self { ... }
fn is_ct_var(self) -> bool { ... }
}
Required Methods§
fn try_to_target_usize(self, interner: I) -> Option<u64>
fn new_infer(interner: I, var: InferConst) -> Self
fn new_var(interner: I, var: ConstVid) -> Self
fn new_bound( interner: I, debruijn: DebruijnIndex, var: <I as Interner>::BoundConst, ) -> Self
fn new_anon_bound(interner: I, debruijn: DebruijnIndex, var: BoundVar) -> Self
fn new_unevaluated(interner: I, uv: UnevaluatedConst<I>) -> Self
fn new_expr(interner: I, expr: <I as Interner>::ExprConst) -> Self
fn new_error(interner: I, guar: <I as Interner>::ErrorGuaranteed) -> Self
Provided Methods§
fn new_error_with_message(interner: I, msg: impl ToString) -> Self
fn is_ct_var(self) -> bool
Object Safety§
This trait is not object safe.