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 to_alias_term(self) -> Option<AliasTerm<I>> { ... } }

Provided Methods§

Source

fn as_type(&self) -> Option<<I as Interner>::Ty>

Source

fn expect_ty(&self) -> <I as Interner>::Ty

Source

fn as_const(&self) -> Option<<I as Interner>::Const>

Source

fn expect_const(&self) -> <I as Interner>::Const

Source

fn is_infer(self) -> bool

Source

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.

Implementations on Foreign Types§

Source§

impl<'tcx> Term<TyCtxt<'tcx>> for Term<'tcx>

Implementors§