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
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).
Tuple Fields of Singular
0: SingularAttr
Parametrized attribute in form of #[attr(...)]
, where parameters are
gathered from all attribute occurrences.
Tuple Fields of Parametrized
Implementations
Constructs Attr
from a vector of all syn-parsed attributes,
selecting attributes matching the provided name.
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 ansyn::Ident
but is a complex path value
Returns inner value \in form of SingularAttr
for Attr::Singular
variant, or fails with Error::SingularAttrRequired
otherwise
Returns inner value \in form of ParametrizedAttr
for
Attr::Parametrized
variant, or fails with
Error::ParametrizedAttrRequired
otherwise
Returns ArgValue
for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
Returns literal value for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
. See ArgValue::literal_value
for more details.
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 UnwindSafe for Attr
Blanket Implementations
Mutably borrows from an owned value. Read more