pub(crate) struct MacroUseParser {
state: MacroUseArgs,
uses_attr_spans: ThinVec<Span>,
first_span: Option<Span>,
}
Expand description
#[macro_use]
attributes can either:
- Use all macros from a crate, if provided without arguments
- Use specific macros from a crate, if provided with arguments
#[macro_use(macro1, macro2)]
A warning should be provided if an use all is combined with specific uses, or if multiple use-alls are used.
Fields§
§state: MacroUseArgs
§uses_attr_spans: ThinVec<Span>
Spans of all #[macro_use]
arguments with arguments, used for linting
first_span: Option<Span>
If state
is UseSpecific
, stores the span of the first #[macro_use]
argument, used as the span for this attribute
If state
is UseAll
, stores the span of the first #[macro_use]
arguments without arguments
Trait Implementations§
Source§impl<S: Stage> AttributeParser<S> for MacroUseParser
impl<S: Stage> AttributeParser<S> for MacroUseParser
Source§const ATTRIBUTES: &'static [(&'static [Symbol], AttributeTemplate, for<'sess> fn(&mut Self, &mut AcceptContext<'_, 'sess, S>, &ArgParser<'_>))]
const ATTRIBUTES: &'static [(&'static [Symbol], AttributeTemplate, for<'sess> fn(&mut Self, &mut AcceptContext<'_, 'sess, S>, &ArgParser<'_>))]
The symbols for the attributes that this parser is interested in. Read more
const ALLOWED_TARGETS: AllowedTargets = MACRO_USE_ALLOWED_TARGETS
Source§fn finalize(self, _cx: &FinalizeContext<'_, '_, S>) -> Option<AttributeKind>
fn finalize(self, _cx: &FinalizeContext<'_, '_, S>) -> Option<AttributeKind>
The parser has gotten a chance to accept the attributes on an item,
here it can produce an attribute. Read more
const TYPE: AttributeType = AttributeType::Normal
Source§impl Default for MacroUseParser
impl Default for MacroUseParser
Source§fn default() -> MacroUseParser
fn default() -> MacroUseParser
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl DynSend for MacroUseParser
impl DynSync for MacroUseParser
impl Freeze for MacroUseParser
impl RefUnwindSafe for MacroUseParser
impl Send for MacroUseParser
impl Sync for MacroUseParser
impl Unpin for MacroUseParser
impl UnwindSafe for MacroUseParser
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
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>
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: 32 bytes