pub(crate) struct ReprParser;Expand description
Parse #[repr(…)] forms.
Valid repr contents:
- any of the primitive integral type names to specify enum discriminant type
Rust, to use the defaultRustlayout of the typeC, to use the same layout for the type that C would usealign(...), to change the alignment requirements of the typepacked, to remove paddingtransparent, to delegate representation concerns to the only non-ZST field.
Trait Implementations§
Source§impl CombineAttributeParser for ReprParser
impl CombineAttributeParser for ReprParser
const PATH: &[Symbol]
Source§const TEMPLATE: AttributeTemplate
const TEMPLATE: AttributeTemplate
The template this attribute parser should implement. Used for diagnostics.
const ALLOWED_TARGETS: AllowedTargets = AllowedTargets::ManuallyChecked
const STABILITY: AttributeStability = AttributeStability::Stable
type Item = (ReprAttr, Span)
Source§fn extend(
cx: &mut AcceptContext<'_, '_>,
args: &ArgParser,
) -> impl IntoIterator<Item = Self::Item>
fn extend( cx: &mut AcceptContext<'_, '_>, args: &ArgParser, ) -> impl IntoIterator<Item = Self::Item>
Converts a single syntactical attribute to a number of elements of the semantic attribute, or
AttributeKindconst SAFETY: AttributeSafety = AttributeSafety::Normal
Auto Trait Implementations§
impl DynSend for ReprParser
impl DynSync for ReprParser
impl Freeze for ReprParser
impl RefUnwindSafe for ReprParser
impl Send for ReprParser
impl Sync for ReprParser
impl Unpin for ReprParser
impl UnsafeUnpin for ReprParser
impl UnwindSafe for ReprParser
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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 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>
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: 0 bytes