Enum amplify_syn::Attr [−][src]
pub enum Attr { Singular(SingularAttr), Parametrized(ParametrizedAttr), }
Expand description
Internal structure representation of a proc macro attribute collected
instances having some specific name (accessible via Attr::name()
).
Variants
Singular(SingularAttr)
Attribute of #[attr]
or #[attr = value]
form, which, aside from the
case where value
is a string literal, may have only a single
occurrence (string literals are concatenated into a single value like
rust compiler does for #[doc = "..."]
attributes).
Parametrized(ParametrizedAttr)
Parametrized attribute in form of #[attr(...)]
, where parameters are
gathered from all attribute occurrences.
Implementations
impl Attr
[src]
impl Attr
[src]pub fn with(
name: impl ToString + AsRef<str>,
attrs: &[Attribute]
) -> Result<Self, Error>
[src]
pub fn with(
name: impl ToString + AsRef<str>,
attrs: &[Attribute]
) -> Result<Self, Error>
[src]Constructs Attr
from a vector of all syn-parsed attributes,
selecting attributes matching the provided name.
pub fn from_attribute(attr: &Attribute) -> Result<Self, Error>
[src]
pub fn from_attribute(attr: &Attribute) -> Result<Self, Error>
[src]Constructor parsing Attribute
value and returning either
SingularAttr
or ParametrizedAttr
packed in form of Attr
enum.
If the attribute does not match either of forms, a Error
is
returned. Currently, only single type of error may occur in practice:
Error::ArgNameMustBeIdent
, which happens if the attribute name is not an [Ident
] but is a complex path value
pub fn try_singular(self) -> Result<SingularAttr, Error>
[src]
pub fn try_singular(self) -> Result<SingularAttr, Error>
[src]Returns inner value \in form of SingularAttr
for Attr::Singular
variant, or fails with Error::SingularAttrRequired
otherwise
pub fn try_parametrized(self) -> Result<ParametrizedAttr, Error>
[src]
pub fn try_parametrized(self) -> Result<ParametrizedAttr, Error>
[src]Returns inner value \in form of ParametrizedAttr
for
Attr::Parametrized
variant, or fails with
Error::ParametrizedAttrRequired
otherwise
pub fn arg_value(&self) -> Result<ArgValue, Error>
[src]
pub fn arg_value(&self) -> Result<ArgValue, Error>
[src]Returns ArgValue
for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
pub fn literal_value(&self) -> Result<Lit, Error>
[src]
pub fn literal_value(&self) -> Result<Lit, Error>
[src]Returns literal value for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
. See ArgValue::literal_value
for more details.
pub fn type_value(&self) -> Result<Type, Error>
[src]
pub fn type_value(&self) -> Result<Type, Error>
[src]Returns type value for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
. See ArgValue::literal_value
for more details.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Attr
impl !Send for Attr
impl !Sync for Attr
impl Unpin for Attr
impl UnwindSafe for Attr
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more