Trait rustc_type_ir::inherent::Ty
source · pub trait Ty<I: Interner<Ty = Self>>: Copy + DebugWithInfcx<I> + Hash + Eq + Into<I::GenericArg> + Into<I::Term> + IntoKind<Kind = TyKind<I>> + TypeSuperVisitable<I> + TypeSuperFoldable<I> + Flags {
// Required methods
fn new_bool(interner: I) -> Self;
fn new_infer(interner: I, var: InferTy) -> Self;
fn new_var(interner: I, var: TyVid) -> Self;
fn new_bound(interner: I, debruijn: DebruijnIndex, var: I::BoundTy) -> Self;
fn new_anon_bound(
interner: I,
debruijn: DebruijnIndex,
var: BoundVar,
) -> Self;
fn new_alias(interner: I, kind: AliasTyKind, alias_ty: AliasTy<I>) -> Self;
fn new_coroutine(
interner: I,
def_id: I::DefId,
args: I::GenericArgs,
) -> Self;
fn new_tup_from_iter<It, T>(interner: I, iter: It) -> T::Output
where It: Iterator<Item = T>,
T: CollectAndApply<Self, Self>;
fn tuple_fields(self) -> I::Tys;
fn to_opt_closure_kind(self) -> Option<ClosureKind>;
fn from_closure_kind(interner: I, kind: ClosureKind) -> Self;
fn from_coroutine_closure_kind(interner: I, kind: ClosureKind) -> Self;
}Required Methods§
fn new_bool(interner: I) -> Self
fn new_infer(interner: I, var: InferTy) -> Self
fn new_var(interner: I, var: TyVid) -> Self
fn new_bound(interner: I, debruijn: DebruijnIndex, var: I::BoundTy) -> Self
fn new_anon_bound(interner: I, debruijn: DebruijnIndex, var: BoundVar) -> Self
fn new_alias(interner: I, kind: AliasTyKind, alias_ty: AliasTy<I>) -> Self
fn new_coroutine(interner: I, def_id: I::DefId, args: I::GenericArgs) -> Self
fn new_tup_from_iter<It, T>(interner: I, iter: It) -> T::Outputwhere
It: Iterator<Item = T>,
T: CollectAndApply<Self, Self>,
fn tuple_fields(self) -> I::Tys
fn to_opt_closure_kind(self) -> Option<ClosureKind>
fn from_closure_kind(interner: I, kind: ClosureKind) -> Self
fn from_coroutine_closure_kind(interner: I, kind: ClosureKind) -> Self
Object Safety§
This trait is not object safe.