Trait synthez::ParseAttrs [−][src]
pub trait ParseAttrs: Default + Parse { fn try_merge(self, another: Self) -> Result<Self, Error>; fn validate(&self, &str, Span) -> Result<(), Error> { ... } fn fallback(&mut self, &[Attribute]) -> Result<(), Error> { ... } fn parse_attrs<T>(name: &str, item: &T) -> Result<Self, Error>
where
T: Attrs + Spanned, { ... } }
Expand description
Parse
ing of [syn::Attribute
]s into a custom defined struct.
Required methods
Provided methods
Validates these parsed attributes to meet additional invariants, if required.
The provided string contains name of the parsed [syn::Attribute
], and
the provided Span
refers to the item this [syn::Attribute
] is
applied to. Use them to make reported errors well descriptive.
Errors
If validation fails.
Falls back to another values from [syn::Attribute
]s, if required.
Errors
If retrieving fallback values fails.
Parses this structure from the [syn::Attribute
]s with the given name
and contained in the given item
.
If multiple [syn::Attribute
]s occur with the same name
then they all
are parsed separately and then Attrs::try_merge
d.
If none [syn::Attribute
]s occur with the given name
then Default
value is returned, modulo Attrs::validate
.
Errors
- If
Parse
ing of thisAttrs
fails. - If either
Attrs::try_merge()
,Attrs::validate()
orAttrs::fallback()
fails.