Enum MetaItemInner
pub enum MetaItemInner {
MetaItem(MetaItem),
Lit(MetaItemLit),
}Expand description
Values inside meta item lists.
E.g., each of Clone, Copy in #[derive(Clone, Copy)].
Variants§
MetaItem(MetaItem)
A full MetaItem, for recursive meta items.
Lit(MetaItemLit)
A literal.
E.g., "foo", 64, true.
Implementations§
§impl MetaItemInner
impl MetaItemInner
pub fn span(&self) -> Span
pub fn ident(&self) -> Option<Ident>
pub fn ident(&self) -> Option<Ident>
For a single-segment meta item, returns its identifier; otherwise, returns None.
pub fn name(&self) -> Option<Symbol>
pub fn name(&self) -> Option<Symbol>
For a single-segment meta item, returns its name; otherwise, returns None.
pub fn has_name(&self, name: Symbol) -> bool
pub fn has_name(&self, name: Symbol) -> bool
Returns true if this list item is a MetaItem with a name of name.
pub fn meta_item_list(&self) -> Option<&[MetaItemInner]>
pub fn meta_item_list(&self) -> Option<&[MetaItemInner]>
Gets a list of inner meta items from a list MetaItem type.
pub fn singleton_lit_list(&self) -> Option<(Symbol, &MetaItemLit)>
pub fn singleton_lit_list(&self) -> Option<(Symbol, &MetaItemLit)>
If it’s a singleton list of the form foo(lit), returns the foo and
the lit.
pub fn name_value_literal_span(&self) -> Option<Span>
pub fn name_value_literal_span(&self) -> Option<Span>
pub fn value_str(&self) -> Option<Symbol>
pub fn value_str(&self) -> Option<Symbol>
Gets the string value if self is a MetaItem and the MetaItem is a
MetaItemKind::NameValue variant containing a string, otherwise None.
pub fn lit(&self) -> Option<&MetaItemLit>
pub fn lit(&self) -> Option<&MetaItemLit>
Returns the MetaItemLit if self is a MetaItemInner::Literals.
pub fn boolean_literal(&self) -> Option<bool>
pub fn boolean_literal(&self) -> Option<bool>
Returns the bool if self is a boolean MetaItemInner::Literal.
pub fn meta_item_or_bool(&self) -> Option<&MetaItemInner>
pub fn meta_item_or_bool(&self) -> Option<&MetaItemInner>
Returns the MetaItem if self is a MetaItemInner::MetaItem or if it’s
MetaItemInner::Lit(MetaItemLit { kind: LitKind::Bool(_), .. }).
pub fn meta_item(&self) -> Option<&MetaItem>
pub fn meta_item(&self) -> Option<&MetaItem>
Returns the MetaItem if self is a MetaItemInner::MetaItem.
pub fn is_meta_item(&self) -> bool
pub fn is_meta_item(&self) -> bool
Returns true if the variant is MetaItem.
Trait Implementations§
§impl Clone for MetaItemInner
impl Clone for MetaItemInner
§fn clone(&self) -> MetaItemInner
fn clone(&self) -> MetaItemInner
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for MetaItemInner
impl Debug for MetaItemInner
§impl<__D> Decodable<__D> for MetaItemInnerwhere
__D: SpanDecoder,
impl<__D> Decodable<__D> for MetaItemInnerwhere
__D: SpanDecoder,
fn decode(__decoder: &mut __D) -> MetaItemInner
§impl<__E> Encodable<__E> for MetaItemInnerwhere
__E: SpanEncoder,
impl<__E> Encodable<__E> for MetaItemInnerwhere
__E: SpanEncoder,
§impl<__CTX> HashStable<__CTX> for MetaItemInnerwhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for MetaItemInnerwhere
__CTX: HashStableContext,
fn hash_stable( &self, __hcx: &mut __CTX, __hasher: &mut StableHasher<SipHasher128>, )
Auto Trait Implementations§
impl DynSend for MetaItemInner
impl DynSync for MetaItemInner
impl Freeze for MetaItemInner
impl RefUnwindSafe for MetaItemInner
impl Send for MetaItemInner
impl Sync for MetaItemInner
impl Unpin for MetaItemInner
impl UnwindSafe for MetaItemInner
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoEither for T
impl<T> IntoEither for T
§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 more§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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
§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: 88 bytes
Size for each variant:
MetaItem: 88 bytesLit: 40 bytes