Module darling_core::util::parse_expr
source · Expand description
Functions to use with #[darling(with = "...")]
that control how quoted values
in Meta
instances are parsed into Expr
fields.
Version 1 of syn did not permit expressions on the right-hand side of the =
in a
MetaNameValue
, so darling accepted string literals and then
parsed their contents as expressions.
Passing a string literal in this version would have required the use of a raw string
to add quotation marks inside the literal.
Version 2 of syn removes the requirement that the right-hand side be a literal.
For most types, such as Path
, the FromMeta
impl can accept the
version without quotation marks without causing ambiguity; a path cannot start and
end with quotation marks, so removal is automatic.
Expr
is the one type where this ambiguity is new and unavoidable. To address this,
this module provides different functions for different expected behaviors.