pub(crate) struct Single<T: SingleAttributeParser>(PhantomData<T>, Option<(AttributeKind, Span)>);Expand description
Use in combination with SingleAttributeParser.
Single<T: SingleAttributeParser> implements AttributeParser.
Tuple Fields§
§0: PhantomData<T>§1: Option<(AttributeKind, Span)>Trait Implementations§
Source§impl<T: SingleAttributeParser> AttributeParser for Single<T>
impl<T: SingleAttributeParser> AttributeParser for Single<T>
Source§const ATTRIBUTES: &'static [(&'static [Symbol], AttributeTemplate, AttributeStability, for<'sess> fn(&mut Self, &mut AcceptContext<'_, 'sess>, &ArgParser))]
const ATTRIBUTES: &'static [(&'static [Symbol], AttributeTemplate, AttributeStability, for<'sess> fn(&mut Self, &mut AcceptContext<'_, 'sess>, &ArgParser))]
The symbols for the attributes that this parser is interested in. Read more
const ALLOWED_TARGETS: AllowedTargets<'_> = T::ALLOWED_TARGETS
const SAFETY: AttributeSafety = T::SAFETY
Source§fn finalize(self, _cx: &FinalizeContext<'_, '_>) -> Option<AttributeKind>
fn finalize(self, _cx: &FinalizeContext<'_, '_>) -> Option<AttributeKind>
The parser has gotten a chance to accept the attributes on an item,
here it can produce an attribute. Read more
Source§fn deferred_finalize_check(
&self,
) -> Option<(fn(&FinalizeCheckContext<'_, '_>, Span), Span)>
fn deferred_finalize_check( &self, ) -> Option<(fn(&FinalizeCheckContext<'_, '_>, Span), Span)>
If this parser produced an attribute, optionally returns a cross-attribute check
to run once all attributes on the item have been finalized, together with the
span it should be reported at. Read more
Auto Trait Implementations§
impl<T> DynSend for Single<T>where
PhantomData<T>: DynSend,
impl<T> DynSync for Single<T>where
PhantomData<T>: DynSync,
impl<T> Freeze for Single<T>where
PhantomData<T>: Freeze,
impl<T> RefUnwindSafe for Single<T>where
PhantomData<T>: RefUnwindSafe,
impl<T> Send for Single<T>where
PhantomData<T>: Send,
impl<T> Sync for Single<T>where
PhantomData<T>: Sync,
impl<T> Unpin for Single<T>where
PhantomData<T>: Unpin,
impl<T> UnsafeUnpin for Single<T>where
PhantomData<T>: UnsafeUnpin,
impl<T> UnwindSafe for Single<T>where
PhantomData<T>: UnwindSafe,
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: 48 bytes