Closed
Description
Diesel uses the following to parse attributes of the form #[changeset_options(treat_none_as_null = "true")]
:
match options_attr.value {
syn::MetaItem::List(_, ref values) => {
if values.len() != 1 {
usage_err();
}
match values[0] {
syn::MetaItem::NameValue(ref name, ref value)
if name.as_ref() == "treat_none_as_null" => value == "true",
_ => usage_err(),
}
}
_ => usage_err(),
}
I expect this use case to be pretty common so let's provide helpers to make it less bad.