pub struct AttributeTemplate {
pub word: bool,
pub list: Option<&'static str>,
pub one_of: &'static [Symbol],
pub name_value_str: Option<&'static str>,
}
Expand description
A template that the attribute input must match.
Only top-level shape (#[attr]
vs #[attr(...)]
vs #[attr = ...]
) is considered now.
Fields§
§word: bool
If true
, the attribute is allowed to be a bare word like #[test]
.
list: Option<&'static str>
If Some
, the attribute is allowed to take a list of items like #[allow(..)]
.
one_of: &'static [Symbol]
If non-empty, the attribute is allowed to take a list containing exactly
one of the listed words, like #[coverage(off)]
.
name_value_str: Option<&'static str>
If Some
, the attribute is allowed to be a name/value pair where the
value is a string, like #[must_use = "reason"]
.
Trait Implementations§
Source§impl Clone for AttributeTemplate
impl Clone for AttributeTemplate
Source§fn clone(&self) -> AttributeTemplate
fn clone(&self) -> AttributeTemplate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Default for AttributeTemplate
impl Default for AttributeTemplate
Source§fn default() -> AttributeTemplate
fn default() -> AttributeTemplate
impl Copy for AttributeTemplate
Auto Trait Implementations§
impl DynSend for AttributeTemplate
impl DynSync for AttributeTemplate
impl Freeze for AttributeTemplate
impl RefUnwindSafe for AttributeTemplate
impl Send for AttributeTemplate
impl Sync for AttributeTemplate
impl Unpin for AttributeTemplate
impl UnwindSafe for AttributeTemplate
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§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: 56 bytes