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
+18 -18
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| if let MetaItem_::MetaWord(ref n) = mi.node {
match &mi.node { n == &"default"
&ast::MetaItem_::MetaWord(ref n) => { } else {
n == &"default" false
}, })
_ => false .any(|x| x)
}) } else {
.any(|x| x) false
} else { }
false }
} else {
}, false
_ => false })
} )
} }
fn declare_visit_map( fn declare_visit_map(