pub struct MetaItemParser {
path: OwnedPathParser,
args: ArgParser,
}Expand description
Utility that deconstructs a MetaItem into usable parts.
MetaItems are syntactically extremely flexible, but specific attributes want to parse them in custom, more restricted ways. This can be done using this struct.
MetaItems consist of some path, and some args. The args could be empty. In other words:
name-> args are emptyname(...)-> args are alist, which is the bit between the parenthesesname = value-> arg isname_value, where the argument is the= valuepart
The syntax of MetaItems can be found at https://doc.rust-lang.org/reference/attributes.html
Fields§
§path: OwnedPathParser§args: ArgParserImplementations§
Source§impl MetaItemParser
impl MetaItemParser
Sourcepub fn ident(&self) -> Option<Ident>
pub fn ident(&self) -> Option<Ident>
For a single-segment meta item, returns its name; otherwise, returns None.
pub fn span(&self) -> Span
Sourcepub fn path(&self) -> &OwnedPathParser
pub fn path(&self) -> &OwnedPathParser
Gets just the path, without the args. Some examples:
#[rustfmt::skip]:rustfmt::skipis a path#[allow(clippy::complexity)]:clippy::complexityis a path#[inline]:inlineis a single segment path
Trait Implementations§
Source§impl Clone for MetaItemParser
impl Clone for MetaItemParser
Source§fn clone(&self) -> MetaItemParser
fn clone(&self) -> MetaItemParser
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl DynSend for MetaItemParser
impl DynSync for MetaItemParser
impl Freeze for MetaItemParser
impl RefUnwindSafe for MetaItemParser
impl Send for MetaItemParser
impl Sync for MetaItemParser
impl Unpin for MetaItemParser
impl UnwindSafe for MetaItemParser
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<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: 80 bytes