pub struct FnSigKind {
flags: u8,
}Expand description
Contains the packed non-type fields of a function signature.
Fields§
§flags: u8Holds the c_variadic and safety bitflags, and 6 bits for the ExternAbi variant and unwind
flag.
Implementations§
Source§impl FnSigKind
impl FnSigKind
Sourceconst EXTERN_ABI_MASK: u8 = 0b111111
const EXTERN_ABI_MASK: u8 = 0b111111
Mask for the ExternAbi variant, including the unwind flag.
Sourceconst C_VARIADIC_FLAG: u8
const C_VARIADIC_FLAG: u8
Bitflag for a trailing C-style variadic argument.
Sourcepub const fn default() -> Self
pub const fn default() -> Self
Create a new FnSigKind with the “Rust” ABI, “Unsafe” safety, and no C-style variadic argument.
To modify these flags, use the set_* methods, for readability.
Sourcepub const fn set_c_variadic(self, c_variadic: bool) -> Self
pub const fn set_c_variadic(self, c_variadic: bool) -> Self
Set the C-style variadic argument flag.
Sourcepub const fn c_variadic(self) -> bool
pub const fn c_variadic(self) -> bool
Do the function arguments end with a C-style variadic argument?
Trait Implementations§
Source§impl<__CTX> HashStable<__CTX> for FnSigKind
impl<__CTX> HashStable<__CTX> for FnSigKind
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
impl Copy for FnSigKind
impl Eq for FnSigKind
impl StructuralPartialEq for FnSigKind
Auto Trait Implementations§
impl DynSend for FnSigKind
impl DynSync for FnSigKind
impl Freeze for FnSigKind
impl RefUnwindSafe for FnSigKind
impl Send for FnSigKind
impl Sync for FnSigKind
impl Unpin for FnSigKind
impl UnsafeUnpin for FnSigKind
impl UnwindSafe for FnSigKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte