Struct rustc_middle::ty::layout::LayoutCx [−][src]
pub struct LayoutCx<'tcx, C> {
pub tcx: C,
pub param_env: ParamEnv<'tcx>,
}Fields
tcx: Cparam_env: ParamEnv<'tcx>Implementations
impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>>[src]
impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>>[src]fn scalar_pair(&self, a: Scalar, b: Scalar) -> Layout[src]
fn univariant_uninterned(
&self,
ty: Ty<'tcx>,
fields: &[TyAndLayout<'_>],
repr: &ReprOptions,
kind: StructKind
) -> Result<Layout, LayoutError<'tcx>>[src]
&self,
ty: Ty<'tcx>,
fields: &[TyAndLayout<'_>],
repr: &ReprOptions,
kind: StructKind
) -> Result<Layout, LayoutError<'tcx>>
fn layout_raw_uncached(
&self,
ty: Ty<'tcx>
) -> Result<&'tcx Layout, LayoutError<'tcx>>[src]
&self,
ty: Ty<'tcx>
) -> Result<&'tcx Layout, LayoutError<'tcx>>
impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>>[src]
impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>>[src]fn generator_saved_local_eligibility(
&self,
info: &GeneratorLayout<'tcx>
) -> (BitSet<GeneratorSavedLocal>, IndexVec<GeneratorSavedLocal, SavedLocalEligibility>)[src]
fn generator_saved_local_eligibility(
&self,
info: &GeneratorLayout<'tcx>
) -> (BitSet<GeneratorSavedLocal>, IndexVec<GeneratorSavedLocal, SavedLocalEligibility>)[src]Compute the eligibility and assignment of each local.
fn generator_layout(
&self,
ty: Ty<'tcx>,
def_id: DefId,
substs: SubstsRef<'tcx>
) -> Result<&'tcx Layout, LayoutError<'tcx>>[src]
fn generator_layout(
&self,
ty: Ty<'tcx>,
def_id: DefId,
substs: SubstsRef<'tcx>
) -> Result<&'tcx Layout, LayoutError<'tcx>>[src]Compute the full generator layout.
fn record_layout_for_printing(&self, layout: TyAndLayout<'tcx>)[src]
fn record_layout_for_printing(&self, layout: TyAndLayout<'tcx>)[src]This is invoked by the layout_raw query to record the final
layout of each type.
fn record_layout_for_printing_outlined(&self, layout: TyAndLayout<'tcx>)[src]
Trait Implementations
impl<'tcx, T: HasDataLayout> HasDataLayout for LayoutCx<'tcx, T>[src]
impl<'tcx, T: HasDataLayout> HasDataLayout for LayoutCx<'tcx, T>[src]fn data_layout(&self) -> &TargetDataLayout[src]
impl<'tcx, C> HasParamEnv<'tcx> for LayoutCx<'tcx, C>[src]
impl<'tcx, C> HasParamEnv<'tcx> for LayoutCx<'tcx, C>[src]impl<'tcx> LayoutOf for LayoutCx<'tcx, TyCtxt<'tcx>>[src]
impl<'tcx> LayoutOf for LayoutCx<'tcx, TyCtxt<'tcx>>[src]fn layout_of(&self, ty: Ty<'tcx>) -> Self::TyAndLayout[src]
fn layout_of(&self, ty: Ty<'tcx>) -> Self::TyAndLayout[src]Computes the layout of a type. Note that this implicitly executes in “reveal all” mode.
type Ty = Ty<'tcx>
type TyAndLayout = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>
fn spanned_layout_of(&self, ty: Self::Ty, _span: Span) -> Self::TyAndLayout[src]
impl<'tcx> LayoutOf for LayoutCx<'tcx, TyCtxtAt<'tcx>>[src]
impl<'tcx> LayoutOf for LayoutCx<'tcx, TyCtxtAt<'tcx>>[src]fn layout_of(&self, ty: Ty<'tcx>) -> Self::TyAndLayout[src]
fn layout_of(&self, ty: Ty<'tcx>) -> Self::TyAndLayout[src]Computes the layout of a type. Note that this implicitly executes in “reveal all” mode.
type Ty = Ty<'tcx>
type TyAndLayout = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>
fn spanned_layout_of(&self, ty: Self::Ty, _span: Span) -> Self::TyAndLayout[src]
Auto Trait Implementations
impl<'tcx, C> !RefUnwindSafe for LayoutCx<'tcx, C>
impl<'tcx, C> !Send for LayoutCx<'tcx, C>
impl<'tcx, C> !Sync for LayoutCx<'tcx, C>
impl<'tcx, C> Unpin for LayoutCx<'tcx, C> where
C: Unpin,
C: Unpin,
impl<'tcx, C> !UnwindSafe for LayoutCx<'tcx, C>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> MaybeResult<T> for T[src]
impl<T> MaybeResult<T> for T[src]impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]
fn with_const(self) -> ConstnessAnd<Self>[src]
fn without_const(self) -> ConstnessAnd<Self>[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,