Refactor default_value to use if-let

This commit is contained in:
Hugo Duncan
2015-02-20 13:59:14 -05:00
parent b6fc68c030
commit c5a35e388c
+9 -9
View File
@@ -6,6 +6,7 @@ extern crate rustc;
use syntax::ast::{ use syntax::ast::{
Ident, Ident,
MetaItem, MetaItem,
MetaItem_,
Item, Item,
Expr, Expr,
MutMutable, MutMutable,
@@ -854,24 +855,23 @@ fn declare_map_field_deserializer(
fn default_value(field: &ast::StructField) -> bool { fn default_value(field: &ast::StructField) -> bool {
field.node.attrs.iter() field.node.attrs.iter()
.any(|sa| .any(|sa|
match &sa.node.value.node { if let MetaItem_::MetaList(ref n, ref vals) = sa.node.value.node {
&ast::MetaItem_::MetaList(ref n, ref vals) => {
if n == &"serde" { if n == &"serde" {
vals.iter() vals.iter()
.map(|mi| .map(|mi|
match &mi.node { if let MetaItem_::MetaWord(ref n) = mi.node {
&ast::MetaItem_::MetaWord(ref n) => {
n == &"default" n == &"default"
}, } else {
_ => false false
}) })
.any(|x| x) .any(|x| x)
} else { } else {
false false
} }
}, }
_ => false else {
} ) false
})
} }
fn declare_visit_map( fn declare_visit_map(