use crate::ARBITRARY_ATTRIBUTE_NAME; use syn::*; pub fn not_skipped(variant: &&Variant) -> bool { !should_skip(variant) } fn should_skip(Variant { attrs, .. }: &Variant) -> bool { attrs .iter() .filter_map(|attr| { attr.path() .is_ident(ARBITRARY_ATTRIBUTE_NAME) .then(|| attr.parse_args::()) .and_then(Result::ok) }) .any(|meta| match meta { Meta::Path(path) => path.is_ident("skip"), _ => false, }) }