Trait attribute_derive::parsing::AttributeNamed
source · pub trait AttributeNamed: AttributeBase {
const PREFERRED_OPEN_DELIMITER: &'static str = " = ";
const PREFERRED_CLOSE_DELIMITER: &'static str = "";
// Required method
fn parse_named(
name: &'static str,
input: ParseStream<'_>
) -> Result<Option<Named<SpannedValue<Self::Partial>>>>;
}Expand description
Values that can be parsed named, e.g. <name>(<value>), <name> = <value>,
<name> (as flag).
This is the default parsing mode used for fields in derived FromAttr
implementations.
Provided Associated Constants§
sourceconst PREFERRED_OPEN_DELIMITER: &'static str = " = "
const PREFERRED_OPEN_DELIMITER: &'static str = " = "
What open delimiter to use when providing error messages.
For <name> = <value>, this is " = ", for <function>(<like>), it is
"(".
As named attributes can allow both <name> = <value> and
name(<value>), this might not be the only way this attribute can be
used.
sourceconst PREFERRED_CLOSE_DELIMITER: &'static str = ""
const PREFERRED_CLOSE_DELIMITER: &'static str = ""
What close delimiter to use when providing error messages.
For <name> = <value>, this is "", for <function>(<like>), it is
")".
As named attributes can allow both <name> = <value> and
<name>(<value>), this might not be the only way this attribute can be
used.
Required Methods§
sourcefn parse_named(
name: &'static str,
input: ParseStream<'_>
) -> Result<Option<Named<SpannedValue<Self::Partial>>>>
fn parse_named( name: &'static str, input: ParseStream<'_> ) -> Result<Option<Named<SpannedValue<Self::Partial>>>>
Parses an attribute containing Self called name.
While this function can be implemented freely, the provided
implementations support <name> = <value>, <function>(<like>) and
<flag>.
Note: This needs to stop parsing at the end of the value, before a
possible following , and further arguments.