X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=ldk-c-bindings;a=blobdiff_plain;f=c-bindings-gen%2Fsrc%2Ftypes.rs;h=10f83e5079d20051b568f2af3612eaf071f4907f;hp=0b8e10d6ee02b7330573e6034edc8e3512ed3077;hb=b25e291110094bb9b59bc05f3f233c1b5d37b6e6;hpb=d7aaec88584beeb1cece72259f68382f2a729440 diff --git a/c-bindings-gen/src/types.rs b/c-bindings-gen/src/types.rs index 0b8e10d..10f83e5 100644 --- a/c-bindings-gen/src/types.rs +++ b/c-bindings-gen/src/types.rs @@ -82,12 +82,21 @@ pub fn export_status(attrs: &[syn::Attribute]) -> ExportStatus { if i == "any" { // #[cfg(any(test, feature = ""))] if let TokenTree::Group(g) = iter.next().unwrap() { - if let TokenTree::Ident(i) = g.stream().into_iter().next().unwrap() { - if i == "test" || i == "feature" { - // If its cfg(feature(...)) we assume its test-only - return ExportStatus::TestOnly; + let mut all_test = true; + for token in g.stream().into_iter() { + if let TokenTree::Ident(i) = token { + match format!("{}", i).as_str() { + "test" => {}, + "feature" => {}, + _ => all_test = false, + } + } else if let TokenTree::Literal(lit) = token { + if format!("{}", lit) != "fuzztarget" { + all_test = false; + } } } + if all_test { return ExportStatus::TestOnly; } } } else if i == "test" || i == "feature" { // If its cfg(feature(...)) we assume its test-only