pub struct ClassifiedArg {
pub kind: ArgRole,
pub signature: Option<TokenStream>,
pub call: Option<TokenStream>,
pub generic: Option<TokenStream>,
pub registration: Option<TokenStream>,
pub prelude: Option<TokenStream>,
pub once_signature: Option<TokenStream>,
pub once_call: Option<TokenStream>,
pub once_generic: Option<TokenStream>,
}Expand description
One argument, classified once, with every emission fragment precomputed.
Fields§
§kind: ArgRole§signature: Option<TokenStream>name: Type in the generated signature (None: not part of the signature).
call: Option<TokenStream>Argument(s) for the FFI call (None: emits nothing).
generic: Option<TokenStream>Generic bound contributed to the where clause.
registration: Option<TokenStream>Post-call dependency registration for retained handlers.
prelude: Option<TokenStream>Statement(s) emitted before the FFI call (e.g. the IntoCStr shadow for
C-string args so the Cow outlives the call).
once_signature: Option<TokenStream>_fn variant fragments (sync handlers swap Handler for a stack closure).
once_call: Option<TokenStream>§once_generic: Option<TokenStream>Auto Trait Implementations§
impl !Send for ClassifiedArg
impl !Sync for ClassifiedArg
impl Freeze for ClassifiedArg
impl RefUnwindSafe for ClassifiedArg
impl Unpin for ClassifiedArg
impl UnsafeUnpin for ClassifiedArg
impl UnwindSafe for ClassifiedArg
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
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