pub trait Term<I>:
    Copy
    + Debug
    + Hash
    + Eq
    + IntoKind<Kind = TermKind<I>>
    + TypeFoldable<I>
    + Relate<I>where
    I: Interner<Term = Self>,{
    // Provided methods
    fn as_type(&self) -> Option<<I as Interner>::Ty> { ... }
    fn expect_ty(&self) -> <I as Interner>::Ty { ... }
    fn as_const(&self) -> Option<<I as Interner>::Const> { ... }
    fn expect_const(&self) -> <I as Interner>::Const { ... }
    fn is_infer(self) -> bool { ... }
    fn is_error(self) -> bool { ... }
    fn to_alias_term(self) -> Option<AliasTerm<I>> { ... }
}Provided Methods§
fn as_type(&self) -> Option<<I as Interner>::Ty>
fn expect_ty(&self) -> <I as Interner>::Ty
fn as_const(&self) -> Option<<I as Interner>::Const>
fn expect_const(&self) -> <I as Interner>::Const
fn is_infer(self) -> bool
fn is_error(self) -> bool
fn to_alias_term(self) -> Option<AliasTerm<I>>
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.