Support consolidated with attribute for variants

This commit is contained in:
David Tolnay 2017-09-09 10:50:40 -07:00
parent 15b2714058
commit 0963121beb
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82

View File

@ -573,6 +573,18 @@ impl Variant {
other.set_true();
}
// Parse `#[serde(with = "...")]`
MetaItem(NameValue(ref name, ref lit)) if name == "with" => {
if let Ok(path) = parse_lit_into_path(cx, name.as_ref(), lit) {
let mut ser_path = path.clone();
ser_path.segments.push("serialize".into());
serialize_with.set(ser_path);
let mut de_path = path;
de_path.segments.push("deserialize".into());
deserialize_with.set(de_path);
}
}
// Parse `#[serde(serialize_with = "...")]`
MetaItem(NameValue(ref name, ref lit)) if name == "serialize_with" => {
if let Ok(path) = parse_lit_into_path(cx, name.as_ref(), lit) {