Trait rustc_type_ir::inherent::Ty

source ·
pub trait Ty<I: Interner<Ty = Self>>: Copy + Debug + Hash + Eq + Into<I::GenericArg> + Into<I::Term> + IntoKind<Kind = TyKind<I>> + TypeSuperVisitable<I> + TypeSuperFoldable<I> + Relate<I> + Flags {
Show 27 methods // 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_error(interner: I, guar: I::ErrorGuaranteed) -> Self; fn new_adt(interner: I, adt_def: I::AdtDef, args: I::GenericArgs) -> Self; fn new_foreign(interner: I, def_id: I::DefId) -> Self; fn new_dynamic( interner: I, preds: I::BoundExistentialPredicates, region: I::Region, kind: DynKind, ) -> Self; fn new_coroutine( interner: I, def_id: I::DefId, args: I::GenericArgs, ) -> Self; fn new_coroutine_closure( interner: I, def_id: I::DefId, args: I::GenericArgs, ) -> Self; fn new_closure(interner: I, def_id: I::DefId, args: I::GenericArgs) -> Self; fn new_coroutine_witness( interner: I, def_id: I::DefId, args: I::GenericArgs, ) -> Self; fn new_ptr(interner: I, ty: Self, mutbl: Mutability) -> Self; fn new_ref( interner: I, region: I::Region, ty: Self, mutbl: Mutability, ) -> Self; fn new_array_with_const_len(interner: I, ty: Self, len: I::Const) -> Self; fn new_slice(interner: I, ty: Self) -> Self; fn new_tup(interner: I, tys: &[I::Ty]) -> 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; fn new_fn_def(interner: I, def_id: I::DefId, args: I::GenericArgs) -> Self; fn new_fn_ptr(interner: I, sig: Binder<I, FnSig<I>>) -> Self; fn new_pat(interner: I, ty: Self, pat: I::Pat) -> Self;
}

Required Methods§

source

fn new_bool(interner: I) -> Self

source

fn new_infer(interner: I, var: InferTy) -> Self

source

fn new_var(interner: I, var: TyVid) -> Self

source

fn new_bound(interner: I, debruijn: DebruijnIndex, var: I::BoundTy) -> Self

source

fn new_anon_bound(interner: I, debruijn: DebruijnIndex, var: BoundVar) -> Self

source

fn new_alias(interner: I, kind: AliasTyKind, alias_ty: AliasTy<I>) -> Self

source

fn new_error(interner: I, guar: I::ErrorGuaranteed) -> Self

source

fn new_adt(interner: I, adt_def: I::AdtDef, args: I::GenericArgs) -> Self

source

fn new_foreign(interner: I, def_id: I::DefId) -> Self

source

fn new_dynamic( interner: I, preds: I::BoundExistentialPredicates, region: I::Region, kind: DynKind, ) -> Self

source

fn new_coroutine(interner: I, def_id: I::DefId, args: I::GenericArgs) -> Self

source

fn new_coroutine_closure( interner: I, def_id: I::DefId, args: I::GenericArgs, ) -> Self

source

fn new_closure(interner: I, def_id: I::DefId, args: I::GenericArgs) -> Self

source

fn new_coroutine_witness( interner: I, def_id: I::DefId, args: I::GenericArgs, ) -> Self

source

fn new_ptr(interner: I, ty: Self, mutbl: Mutability) -> Self

source

fn new_ref(interner: I, region: I::Region, ty: Self, mutbl: Mutability) -> Self

source

fn new_array_with_const_len(interner: I, ty: Self, len: I::Const) -> Self

source

fn new_slice(interner: I, ty: Self) -> Self

source

fn new_tup(interner: I, tys: &[I::Ty]) -> Self

source

fn new_tup_from_iter<It, T>(interner: I, iter: It) -> T::Output
where It: Iterator<Item = T>, T: CollectAndApply<Self, Self>,

source

fn tuple_fields(self) -> I::Tys

source

fn to_opt_closure_kind(self) -> Option<ClosureKind>

source

fn from_closure_kind(interner: I, kind: ClosureKind) -> Self

source

fn from_coroutine_closure_kind(interner: I, kind: ClosureKind) -> Self

source

fn new_fn_def(interner: I, def_id: I::DefId, args: I::GenericArgs) -> Self

source

fn new_fn_ptr(interner: I, sig: Binder<I, FnSig<I>>) -> Self

source

fn new_pat(interner: I, ty: Self, pat: I::Pat) -> Self

Object Safety§

This trait is not object safe.

Implementors§