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 new_infer(interner: I, var: InferConst) -> Self;
    fn new_var(interner: I, var: ConstVid) -> Self;
    fn new_bound(
        interner: I,
        debruijn: DebruijnIndex,
        bound_const: <I as Interner>::BoundConst,
    ) -> Self;
    fn new_anon_bound(
        interner: I,
        debruijn: DebruijnIndex,
        var: BoundVar,
    ) -> Self;
    fn new_canonical_bound(interner: I, var: BoundVar) -> Self;
    fn new_placeholder(
        interner: I,
        param: <I as Interner>::PlaceholderConst,
    ) -> 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 { ... }
    fn is_ct_error(self) -> bool { ... }
}Required Methods§
fn new_infer(interner: I, var: InferConst) -> Self
fn new_var(interner: I, var: ConstVid) -> Self
fn new_bound( interner: I, debruijn: DebruijnIndex, bound_const: <I as Interner>::BoundConst, ) -> Self
fn new_anon_bound(interner: I, debruijn: DebruijnIndex, var: BoundVar) -> Self
fn new_canonical_bound(interner: I, var: BoundVar) -> Self
fn new_placeholder( interner: I, param: <I as Interner>::PlaceholderConst, ) -> 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
fn is_ct_error(self) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.