pub struct FnDeclFlags {
flags: u8,
}Expand description
Contains the packed non-type fields of a function declaration.
Fields§
§flags: u8Holds the c_variadic and lifetime_elision_allowed bitflags, and 3 bits for the ImplicitSelfKind.
Implementations§
Source§impl FnDeclFlags
impl FnDeclFlags
Sourceconst IMPLICIT_SELF_MASK: u8 = 0b111
const IMPLICIT_SELF_MASK: u8 = 0b111
Mask for the implicit self kind.
Sourceconst C_VARIADIC_FLAG: u8
const C_VARIADIC_FLAG: u8
Bitflag for a trailing C-style variadic argument.
Sourceconst LIFETIME_ELISION_ALLOWED_FLAG: u8
const LIFETIME_ELISION_ALLOWED_FLAG: u8
Bitflag for lifetime elision.
Sourcepub const fn default() -> Self
pub const fn default() -> Self
Create a new FnDeclKind with no implicit self, no lifetime elision, and no C-style variadic argument.
To modify these flags, use the set_* methods, for readability.
Sourcepub const fn set_implicit_self(self, implicit_self: ImplicitSelfKind) -> Self
pub const fn set_implicit_self(self, implicit_self: ImplicitSelfKind) -> Self
Set the implicit self kind.
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 set_lifetime_elision_allowed(self, allowed: bool) -> Self
pub const fn set_lifetime_elision_allowed(self, allowed: bool) -> Self
Set the lifetime elision allowed flag.
Sourcepub const fn implicit_self(self) -> ImplicitSelfKind
pub const fn implicit_self(self) -> ImplicitSelfKind
Get the implicit self kind.
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?
Sourcepub const fn lifetime_elision_allowed(self) -> bool
pub const fn lifetime_elision_allowed(self) -> bool
Is lifetime elision allowed?
Trait Implementations§
Source§impl Clone for FnDeclFlags
impl Clone for FnDeclFlags
Source§fn clone(&self) -> FnDeclFlags
fn clone(&self) -> FnDeclFlags
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FnDeclFlags
impl Debug for FnDeclFlags
Source§impl<__D: SpanDecoder> Decodable<__D> for FnDeclFlags
impl<__D: SpanDecoder> Decodable<__D> for FnDeclFlags
Source§impl<__E: SpanEncoder> Encodable<__E> for FnDeclFlags
impl<__E: SpanEncoder> Encodable<__E> for FnDeclFlags
Source§impl Hash for FnDeclFlags
impl Hash for FnDeclFlags
Source§impl<__CTX> HashStable<__CTX> for FnDeclFlagswhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for FnDeclFlagswhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
Source§impl Ord for FnDeclFlags
impl Ord for FnDeclFlags
Source§fn cmp(&self, other: &FnDeclFlags) -> Ordering
fn cmp(&self, other: &FnDeclFlags) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for FnDeclFlags
impl PartialEq for FnDeclFlags
Source§impl PartialOrd for FnDeclFlags
impl PartialOrd for FnDeclFlags
impl Copy for FnDeclFlags
impl Eq for FnDeclFlags
impl StructuralPartialEq for FnDeclFlags
Auto Trait Implementations§
impl DynSend for FnDeclFlags
impl DynSync for FnDeclFlags
impl Freeze for FnDeclFlags
impl RefUnwindSafe for FnDeclFlags
impl Send for FnDeclFlags
impl Sync for FnDeclFlags
impl Unpin for FnDeclFlags
impl UnsafeUnpin for FnDeclFlags
impl UnwindSafe for FnDeclFlags
Blanket Implementations§
Source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut T
fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'tcx mut [T]
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<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§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<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