Merge branch serde-rs/master into Gankro/deserialize_from

This commit is contained in:
David Tolnay
2017-12-11 20:49:23 -08:00
13 changed files with 115 additions and 45 deletions
+27 -4
View File
@@ -583,7 +583,30 @@ fn deserialize_seq(
};
}
let let_default = match *cattrs.default() {
attr::Default::Default => {
Some(
quote!(
let __default: Self::Value = _serde::export::Default::default();
),
)
}
attr::Default::Path(ref path) => {
Some(
quote!(
let __default: Self::Value = #path();
),
)
}
attr::Default::None => {
// We don't need the default value, to prevent an unused variable warning
// we'll leave the line empty.
None
}
};
quote_block! {
#let_default
#(#let_values)*
_serde::export::Ok(#result)
}
@@ -2034,15 +2057,15 @@ fn deserialize_map(
attr::Default::Default => {
Some(
quote!(
let __default: Self::Value = _serde::export::Default::default();
),
let __default: Self::Value = _serde::export::Default::default();
),
)
}
attr::Default::Path(ref path) => {
Some(
quote!(
let __default: Self::Value = #path();
),
let __default: Self::Value = #path();
),
)
}
attr::Default::None => {