Trait rustc_infer::infer::canonical::ir::inherent::Ty

source ·
pub trait Ty<I>: Copy + DebugWithInfcx<I> + Hash + Eq + Into<<I as Interner>::GenericArg> + Into<<I as Interner>::Term> + IntoKind<Kind = TyKind<I>> + TypeSuperVisitable<I> + TypeSuperFoldable<I> + Flags
where I: Interner<Ty = 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 as Interner>::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 as Interner>::DefId, args: <I as Interner>::GenericArgs, ) -> Self; fn new_tup_from_iter<It, T>( interner: I, iter: It, ) -> <T as CollectAndApply<Self, Self>>::Output where It: Iterator<Item = T>, T: CollectAndApply<Self, Self>; fn tuple_fields(self) -> <I as Interner>::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§

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 as Interner>::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_coroutine( interner: I, def_id: <I as Interner>::DefId, args: <I as Interner>::GenericArgs, ) -> Self

source

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

source

fn tuple_fields(self) -> <I as Interner>::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

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'tcx> Ty<TyCtxt<'tcx>> for Ty<'tcx>

source§

fn new_bool(tcx: TyCtxt<'tcx>) -> Ty<'tcx>

source§

fn new_infer(tcx: TyCtxt<'tcx>, infer: InferTy) -> Ty<'tcx>

source§

fn new_var(tcx: TyCtxt<'tcx>, vid: TyVid) -> Ty<'tcx>

source§

fn new_bound( interner: TyCtxt<'tcx>, debruijn: DebruijnIndex, var: BoundTy, ) -> Ty<'tcx>

source§

fn new_anon_bound( tcx: TyCtxt<'tcx>, debruijn: DebruijnIndex, var: BoundVar, ) -> Ty<'tcx>

source§

fn new_alias( interner: TyCtxt<'tcx>, kind: AliasTyKind, alias_ty: AliasTy<TyCtxt<'tcx>>, ) -> Ty<'tcx>

source§

fn new_coroutine( interner: TyCtxt<'tcx>, def_id: DefId, args: &'tcx RawList<(), GenericArg<'tcx>>, ) -> Ty<'tcx>

source§

fn new_tup_from_iter<It, T>( interner: TyCtxt<'tcx>, iter: It, ) -> <T as CollectAndApply<Ty<'tcx>, Ty<'tcx>>>::Output
where It: Iterator<Item = T>, T: CollectAndApply<Ty<'tcx>, Ty<'tcx>>,

source§

fn tuple_fields(self) -> &'tcx RawList<(), Ty<'tcx>>

source§

fn to_opt_closure_kind(self) -> Option<ClosureKind>

source§

fn from_closure_kind(interner: TyCtxt<'tcx>, kind: ClosureKind) -> Ty<'tcx>

source§

fn from_coroutine_closure_kind( interner: TyCtxt<'tcx>, kind: ClosureKind, ) -> Ty<'tcx>

Implementors§