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_decl_backend_type(&self, fn_abi: &FnAbi<'tcx, Ty<'tcx>>) -> 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§

source

fn backend_type(&self, layout: TyAndLayout<'tcx>) -> Self::Type

source

fn cast_backend_type(&self, ty: &CastTarget) -> Self::Type

source

fn fn_decl_backend_type(&self, fn_abi: &FnAbi<'tcx, Ty<'tcx>>) -> Self::Type

source

fn fn_ptr_backend_type(&self, fn_abi: &FnAbi<'tcx, Ty<'tcx>>) -> Self::Type

source

fn reg_backend_type(&self, ty: &Reg) -> Self::Type

source

fn immediate_backend_type(&self, layout: TyAndLayout<'tcx>) -> Self::Type

source

fn is_backend_immediate(&self, layout: TyAndLayout<'tcx>) -> bool

source

fn is_backend_scalar_pair(&self, layout: TyAndLayout<'tcx>) -> bool

source

fn backend_field_index(&self, layout: TyAndLayout<'tcx>, index: usize) -> u64

source

fn scalar_pair_element_backend_type(
    &self,
    layout: TyAndLayout<'tcx>,
    index: usize,
    immediate: bool
) -> Self::Type

Implementors§