Struct rustc_ast::tokenstream::AttrsTarget
source · pub struct AttrsTarget {
pub attrs: AttrVec,
pub tokens: LazyAttrTokenStream,
}Expand description
Stores the tokens for an attribute target, along with its attributes.
This is constructed during parsing when we need to capture
tokens, for cfg and cfg_attr attributes.
For example, #[cfg(FALSE)] struct Foo {} would
have an attrs field containing the #[cfg(FALSE)] attr,
and a tokens field storing the (unparsed) tokens struct Foo {}
The cfg/cfg_attr processing occurs in
StripUnconfigured::configure_tokens.
Fields§
§attrs: AttrVecAttributes, both outer and inner. These are stored in the original order that they were parsed in.
tokens: LazyAttrTokenStreamThe underlying tokens for the attribute target that attrs
are applied to
Trait Implementations§
source§impl Clone for AttrsTarget
impl Clone for AttrsTarget
source§fn clone(&self) -> AttrsTarget
fn clone(&self) -> AttrsTarget
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for AttrsTarget
impl Debug for AttrsTarget
source§impl<__D: SpanDecoder> Decodable<__D> for AttrsTarget
impl<__D: SpanDecoder> Decodable<__D> for AttrsTarget
source§impl<__E: SpanEncoder> Encodable<__E> for AttrsTarget
impl<__E: SpanEncoder> Encodable<__E> for AttrsTarget
Auto Trait Implementations§
impl DynSend for AttrsTarget
impl DynSync for AttrsTarget
impl Freeze for AttrsTarget
impl !RefUnwindSafe for AttrsTarget
impl !Send for AttrsTarget
impl !Sync for AttrsTarget
impl Unpin for AttrsTarget
impl !UnwindSafe for AttrsTarget
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)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<'a, T> Captures<'a> for Twhere
T: ?Sized,
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: 16 bytes