Mark all serde attributes as used

This commit is contained in:
David Tolnay 2016-09-26 23:17:43 -07:00
parent 8e77960e3a
commit 8ee8c07090
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82

View File

@ -140,6 +140,20 @@ macro_rules! shim {
}
};
use syntax::{attr, ast, visit};
struct MarkSerdeAttributesUsed;
impl visit::Visitor for MarkSerdeAttributesUsed {
fn visit_attribute(&mut self, attr: &ast::Attribute) {
match attr.node.value.node {
ast::MetaItemKind::List(ref name, _) if name == "serde" => {
attr::mark_used(attr);
}
_ => {}
}
}
}
visit::walk_item(&mut MarkSerdeAttributesUsed, item);
use syntax::print::pprust;
let s = pprust::item_to_string(item);