Trait rustc_codegen_ssa::traits::LayoutTypeMethods [−][src]
pub trait LayoutTypeMethods<'tcx>: Backend<'tcx> { fn backend_type(&self, layout: TyAndLayout<'tcx>) -> Self::Type; fn cast_backend_type(&self, ty: &CastTarget) -> Self::Type; fn fn_ptr_backend_type(&self, fn_abi: &FnAbi<'tcx, Ty<'tcx>>) -> Self::Type; fn reg_backend_type(&self, ty: &Reg) -> Self::Type; fn immediate_backend_type(&self, layout: TyAndLayout<'tcx>) -> Self::Type; fn is_backend_immediate(&self, layout: TyAndLayout<'tcx>) -> bool; fn is_backend_scalar_pair(&self, layout: TyAndLayout<'tcx>) -> bool; fn backend_field_index(
&self,
layout: TyAndLayout<'tcx>,
index: usize
) -> u64; fn scalar_pair_element_backend_type(
&self,
layout: TyAndLayout<'tcx>,
index: usize,
immediate: bool
) -> Self::Type; }
Required methods
fn backend_type(&self, layout: TyAndLayout<'tcx>) -> Self::Typefn cast_backend_type(&self, ty: &CastTarget) -> Self::Typefn fn_ptr_backend_type(&self, fn_abi: &FnAbi<'tcx, Ty<'tcx>>) -> Self::Typefn reg_backend_type(&self, ty: &Reg) -> Self::Typefn immediate_backend_type(&self, layout: TyAndLayout<'tcx>) -> Self::Typefn is_backend_immediate(&self, layout: TyAndLayout<'tcx>) -> boolfn is_backend_scalar_pair(&self, layout: TyAndLayout<'tcx>) -> boolfn backend_field_index(&self, layout: TyAndLayout<'tcx>, index: usize) -> u64fn scalar_pair_element_backend_type(
&self,
layout: TyAndLayout<'tcx>,
index: usize,
immediate: bool
) -> Self::Type