# Trait rustc_smir::rustc_internal::RustcInternal

source ·

    pub trait RustcInternal<'tcx> {
        type T;

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

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

## Required Methods§

source

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

## Implementations on Foreign Types§

source§

### impl<'tcx> RustcInternal<'tcx> for Mutability

§

#### type T = Mutability

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Safety

§

#### type T = Unsafety

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for MonoItem

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Abi

§

#### type T = Abi

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for BoundVariableKind

§

#### type T = BoundVariableKind

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for ClosureKind

§

#### type T = ClosureKind

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for DynKind

§

#### type T = DynKind

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for ExistentialPredicate

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for FloatTy

§

#### type T = FloatTy

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for GenericArgKind

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for IntTy

§

#### type T = IntTy

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Movability

§

#### type T = Movability

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for RigidTy

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for TermKind

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for UintTy

§

#### type T = UintTy

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Layout

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for DefId

§

#### type T = DefId

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for AllocId

§

#### type T = AllocId

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Instance

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for StaticDef

§

#### type T = DefId

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for CrateItem

§

#### type T = DefId

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for AdtDef

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Const

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for ExistentialProjection

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for ExistentialTraitRef

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for FnSig

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for GenericArgs

§

#### type T = &'tcx List<GenericArg<'tcx>>

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Region

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Span

§

#### type T = Span

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for TraitRef

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for Ty

§

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

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for VariantDef

§

#### type T = &'tcx VariantDef

source§

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

source§

### impl<'tcx> RustcInternal<'tcx> for VariantIdx

§

#### type T = VariantIdx

source§

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

source§

### impl<'tcx, T> RustcInternal<'tcx> for Option<T>
where T: RustcInternal<'tcx>,

§

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

source§

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

source§

### impl<'tcx, T> RustcInternal<'tcx> for &T
where T: RustcInternal<'tcx>,

§

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

source§

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

source§

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

§

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

source§

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

source§

### impl<'tcx, T> RustcInternal<'tcx> for Vec<T>
where T: RustcInternal<'tcx>,

§

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

source§

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

## Implementors§