[−][src]Struct rustc_codegen_llvm::abi::FnAbi

pub struct FnAbi<'a, Ty> {
    pub args: Vec<ArgAbi<'a, Ty>>,
    pub ret: ArgAbi<'a, Ty>,
    pub c_variadic: bool,
    pub fixed_count: usize,
    pub conv: Conv,
    pub can_unwind: bool,
}

Metadata describing how the arguments to a native function should be passed in order to respect the native ABI.

I will do my best to describe this structure, but these comments are reverse-engineered and may be inaccurate. -NDM

Fields

args: Vec<ArgAbi<'a, Ty>>

The LLVM types of each argument.

ret: ArgAbi<'a, Ty>

LLVM return type.

c_variadic: boolfixed_count: usize

The count of non-variadic arguments.

Should only be different from args.len() when c_variadic is true. This can be used to know whether an argument is variadic or not.

conv: Convcan_unwind: bool

Trait Implementations

impl<'tcx> FnAbiLlvmExt<'tcx> for FnAbi<'tcx, Ty<'tcx>>[src]

Auto Trait Implementations

impl<'a, Ty> RefUnwindSafe for FnAbi<'a, Ty> where
    Ty: RefUnwindSafe, 

impl<'a, Ty> Send for FnAbi<'a, Ty> where
    Ty: Send, 

impl<'a, Ty> Sync for FnAbi<'a, Ty> where
    Ty: Sync, 

impl<'a, Ty> Unpin for FnAbi<'a, Ty> where
    Ty: Unpin, 

impl<'a, Ty> UnwindSafe for FnAbi<'a, Ty> where
    Ty: UnwindSafe, 

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.