# Trait rustc_smir::rustc_internal::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 Mutability

§

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

source§

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

source§

### impl RustcInternal for Safety

§

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

source§

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

source§

### impl RustcInternal for MonoItem

§

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

source§

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

source§

### impl RustcInternal for Abi

§

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

source§

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

source§

### impl RustcInternal for BoundVariableKind

§

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

source§

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

source§

### impl RustcInternal for ClosureKind

§

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

source§

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

source§

### impl RustcInternal for DynKind

§

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

source§

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

source§

### impl RustcInternal for ExistentialPredicate

§

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

source§

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

source§

### impl RustcInternal for FloatTy

§

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

source§

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

source§

### impl RustcInternal for GenericArgKind

§

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

source§

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

source§

### impl RustcInternal for IntTy

§

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

source§

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

source§

### impl RustcInternal for Movability

§

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

source§

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

source§

### impl RustcInternal for RigidTy

§

#### 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

§

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

source§

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

source§

### impl RustcInternal for UintTy

§

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

source§

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

source§

### impl RustcInternal for Layout

§

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

source§

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

source§

### impl RustcInternal for DefId

§

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

source§

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

source§

### impl RustcInternal for AllocId

§

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

source§

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

source§

### impl RustcInternal for Instance

§

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

source§

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

source§

### impl RustcInternal for StaticDef

§

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

source§

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

source§

### impl RustcInternal for CrateItem

§

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

source§

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

source§

### impl RustcInternal for AdtDef

§

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

source§

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

source§

### impl RustcInternal for Const

§

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

source§

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

source§

### impl RustcInternal for ExistentialProjection

§

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

source§

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

source§

### impl RustcInternal for ExistentialTraitRef

§

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

source§

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

source§

### impl RustcInternal for FnSig

§

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

source§

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

source§

### impl RustcInternal for GenericArgs

§

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

source§

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

source§

### impl RustcInternal for Region

§

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

source§

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

source§

### impl RustcInternal for Span

§

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

source§

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

source§

### impl RustcInternal for TraitRef

§

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

source§

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

source§

### impl RustcInternal for Ty

§

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

source§

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

source§

### impl RustcInternal for VariantDef

§

#### type T<'tcx> = &'tcx VariantDef

source§

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

source§

### impl RustcInternal for VariantIdx

§

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

source§

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

source§

### impl RustcInternal for CrateNum

§

#### 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,

§

#### 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,

§

#### 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>>,

§

#### type T<'tcx> = Binder<'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,

§

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

source§

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

## Implementors§