pub struct VaList<'a> { /* private fields */ }🔬This is a nightly-only experimental API. (
c_variadic)Expand description
A variable argument list, equivalent to va_list in C.
Implementations§
Source§impl<'f> VaList<'f>
impl<'f> VaList<'f>
Sourcepub unsafe fn arg<T>(&mut self) -> Twhere
T: VaArgSafe,
🔬This is a nightly-only experimental API. (c_variadic)
pub unsafe fn arg<T>(&mut self) -> Twhere
T: VaArgSafe,
c_variadic)Advance to and read the next variable argument.
§Safety
This function is only sound to call when:
- there is a next variable argument available.
- the next argument’s type must be ABI-compatible with the type
T. - the next argument must have a properly initialized value of type
T.
Calling this function with an incompatible type, an invalid value, or when there are no more variable arguments, is unsound.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for VaList<'a>
impl<'a> RefUnwindSafe for VaList<'a>
impl<'a> !Send for VaList<'a>
impl<'a> !Sync for VaList<'a>
impl<'a> Unpin for VaList<'a>
impl<'a> UnwindSafe for VaList<'a>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more