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: AttrVec
Attributes, both outer and inner. These are stored in the original order that they were parsed in.
tokens: LazyAttrTokenStream
The 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§unsafe fn clone_to_uninit(&self, dst: *mut T)
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