From af1bc992d69fe07d5729f40f6600ea4b62f3ef5a Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Tue, 4 Apr 2017 10:24:05 -0400 Subject: [PATCH] Refactor has_no_mangle to make it easier to match repr(C) which we'll need later --- src/main.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 21cb5d5..18895a4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,15 +4,15 @@ use std::io::Read; extern crate syn; use syn::*; +fn has_attribute(target: MetaItem, attrs: &Vec) -> bool { + return attrs.iter().any(|ref attr| { + attr.style == AttrStyle::Outer && + attr.value == target + }); +} + fn has_no_mangle(attrs: &Vec) -> bool { - for attr in attrs { - if let syn::MetaItem::Word(ref ident) = attr.value { - if ident == "no_mangle" { - return true; - } - } - } - false + has_attribute(MetaItem::Word(Ident::new("no_mangle")), attrs) } fn map_path(p: &Path) -> String {