rustc_smir::rustc_internal

Trait RustcInternal

source
pub trait RustcInternal {
    type T<'tcx>;

    // Required method
    fn internal<'tcx>(
        &self,
        tables: &mut Tables<'_>,
        tcx: TyCtxt<'tcx>,
    ) -> Self::T<'tcx>;
}
Expand description

Trait used to translate a stable construct to its rustc counterpart.

This is basically a mirror of crate::rustc_smir::Stable.

Required Associated Types§

source

type T<'tcx>

Required Methods§

source

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl RustcInternal for BinOp

source§

type T<'tcx> = BinOp

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Mutability

source§

type T<'tcx> = Mutability

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for ProjectionElem

source§

type T<'tcx> = ProjectionElem<Local, Ty<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Safety

source§

type T<'tcx> = Safety

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for UnOp

source§

type T<'tcx> = UnOp

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for MonoItem

source§

type T<'tcx> = MonoItem<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Abi

source§

type T<'tcx> = Abi

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for BoundVariableKind

source§

type T<'tcx> = BoundVariableKind

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for ClosureKind

source§

type T<'tcx> = ClosureKind

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for DynKind

source§

type T<'tcx> = DynKind

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for ExistentialPredicate

source§

type T<'tcx> = ExistentialPredicate<TyCtxt<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for FloatTy

source§

type T<'tcx> = FloatTy

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for GenericArgKind

source§

type T<'tcx> = GenericArg<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for IntTy

source§

type T<'tcx> = IntTy

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Movability

source§

type T<'tcx> = Movability

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Pattern

source§

type T<'tcx> = Pattern<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for RigidTy

source§

type T<'tcx> = TyKind<TyCtxt<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for TermKind

source§

type T<'tcx> = Term<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for UintTy

source§

type T<'tcx> = UintTy

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Layout

source§

type T<'tcx> = Layout<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for DefId

source§

type T<'tcx> = DefId

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for AllocId

source§

type T<'tcx> = AllocId

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Place

source§

type T<'tcx> = Place<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Instance

source§

type T<'tcx> = Instance<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for StaticDef

source§

type T<'tcx> = DefId

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for CrateItem

source§

type T<'tcx> = DefId

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for AdtDef

source§

type T<'tcx> = AdtDef<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for ExistentialProjection

source§

type T<'tcx> = ExistentialProjection<TyCtxt<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for ExistentialTraitRef

source§

type T<'tcx> = ExistentialTraitRef<TyCtxt<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for FnSig

source§

type T<'tcx> = FnSig<TyCtxt<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for GenericArgs

source§

type T<'tcx> = &'tcx RawList<(), GenericArg<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for MirConst

source§

type T<'tcx> = Const<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Region

source§

type T<'tcx> = Region<'tcx>

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Span

source§

type T<'tcx> = Span

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for TraitRef

source§

type T<'tcx> = TraitRef<TyCtxt<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for Ty

source§

type T<'tcx> = Ty<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for TyConst

source§

type T<'tcx> = Const<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for VariantDef

source§

type T<'tcx> = &'tcx VariantDef

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for VariantIdx

source§

type T<'tcx> = VariantIdx

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl RustcInternal for CrateNum

source§

type T<'tcx> = CrateNum

source§

fn internal<'tcx>( &self, _tables: &mut Tables<'_>, _tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl<T> RustcInternal for Option<T>
where T: RustcInternal,

source§

type T<'tcx> = Option<<T as RustcInternal>::T<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl<T> RustcInternal for &T
where T: RustcInternal,

source§

type T<'tcx> = <T as RustcInternal>::T<'tcx>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl<T> RustcInternal for Binder<T>
where T: RustcInternal, for<'tcx> T::T<'tcx>: TypeVisitable<TyCtxt<'tcx>>,

source§

type T<'tcx> = Binder<TyCtxt<'tcx>, <T as RustcInternal>::T<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

source§

impl<T> RustcInternal for Vec<T>
where T: RustcInternal,

source§

type T<'tcx> = Vec<<T as RustcInternal>::T<'tcx>>

source§

fn internal<'tcx>( &self, tables: &mut Tables<'_>, tcx: TyCtxt<'tcx>, ) -> Self::T<'tcx>

Implementors§