pub enum Variadic {
SameAsFixed,
AlwaysMemory,
BothBanks,
}Expand description
What a variadic argument does differently.
Variants§
SameAsFixed
Nothing. A variadic argument is classified the same way a fixed one is.
AlwaysMemory
Every variadic argument is in the argument area, whatever registers are left.
Darwin arm64, and the divergence that makes it a separate ABI rather than AAPCS64 with
notes, per spec/cross-compile/06-abis.md section 6.3. It is also the reason a variadic call there is
ABI-incompatible with a non-variadic one, so calling an unprototyped function works until
the day it does not.
BothBanks
A floating point argument travels in both its vector register and the corresponding general purpose one.
Windows x64, because the callee of a variadic function does not know which bank to read.
Trait Implementations§
impl Copy for Variadic
impl Eq for Variadic
impl StructuralPartialEq for Variadic
Auto Trait Implementations§
impl Freeze for Variadic
impl RefUnwindSafe for Variadic
impl Send for Variadic
impl Sync for Variadic
impl Unpin for Variadic
impl UnsafeUnpin for Variadic
impl UnwindSafe for Variadic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more