diff --git a/gen/src/write.rs b/gen/src/write.rs index e41031e49..c2d79c0e5 100644 --- a/gen/src/write.rs +++ b/gen/src/write.rs @@ -318,7 +318,7 @@ fn write_struct_decl(out: &mut OutFile, ident: &Pair) { fn write_enum_decl(out: &mut OutFile, enm: &Enum) { let repr = match &enm.repr { - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] EnumRepr::Foreign { .. } => return, EnumRepr::Native { atom, .. } => *atom, }; @@ -382,7 +382,7 @@ fn write_opaque_type<'a>(out: &mut OutFile<'a>, ety: &'a ExternType, methods: &[ fn write_enum<'a>(out: &mut OutFile<'a>, enm: &'a Enum) { let repr = match &enm.repr { - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] EnumRepr::Foreign { .. } => return, EnumRepr::Native { atom, .. } => *atom, }; @@ -408,7 +408,7 @@ fn write_enum<'a>(out: &mut OutFile<'a>, enm: &'a Enum) { fn check_enum<'a>(out: &mut OutFile<'a>, enm: &'a Enum) { let repr = match &enm.repr { - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] EnumRepr::Foreign { .. } => return, EnumRepr::Native { atom, .. } => *atom, }; diff --git a/macro/Cargo.toml b/macro/Cargo.toml index 5fe8f4a3d..ce643358d 100644 --- a/macro/Cargo.toml +++ b/macro/Cargo.toml @@ -16,7 +16,7 @@ categories = ["development-tools::ffi"] proc-macro = true [features] -experimental = ["clang-ast", "flate2", "memmap", "serde", "serde_json"] +experimental-enum-variants-from-header = ["clang-ast", "flate2", "memmap", "serde", "serde_json"] [dependencies] proc-macro2 = "1.0" diff --git a/macro/src/expand.rs b/macro/src/expand.rs index 3d84fb567..8b0a08185 100644 --- a/macro/src/expand.rs +++ b/macro/src/expand.rs @@ -36,7 +36,7 @@ pub fn bridge(mut ffi: Module) -> Result { let trusted = ffi.unsafety.is_some(); let namespace = &ffi.namespace; let ref mut apis = syntax::parse_items(errors, content, trusted, namespace); - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] crate::load::load(errors, apis); let ref types = Types::collect(errors, apis); errors.propagate()?; diff --git a/macro/src/lib.rs b/macro/src/lib.rs index 108aecd07..e48d1a3a3 100644 --- a/macro/src/lib.rs +++ b/macro/src/lib.rs @@ -37,9 +37,9 @@ mod syntax; mod tokens; mod type_id; -#[cfg(feature = "experimental")] +#[cfg(feature = "experimental-enum-variants-from-header")] mod clang; -#[cfg(feature = "experimental")] +#[cfg(feature = "experimental-enum-variants-from-header")] mod load; use crate::syntax::file::Module; diff --git a/syntax/attrs.rs b/syntax/attrs.rs index b827d51d4..cb40295b9 100644 --- a/syntax/attrs.rs +++ b/syntax/attrs.rs @@ -142,7 +142,9 @@ pub fn parse(cx: &mut Errors, attrs: Vec, mut parser: Parser) -> Othe break; } } - } else if attr.path.is_ident("variants_from_header") && cfg!(feature = "experimental") { + } else if attr.path.is_ident("variants_from_header") + && cfg!(feature = "experimental-enum-variants-from-header") + { if let Err(err) = Nothing::parse.parse2(attr.tokens.clone()) { cx.push(err); } diff --git a/syntax/discriminant.rs b/syntax/discriminant.rs index 7352fb9f7..21a6d00a3 100644 --- a/syntax/discriminant.rs +++ b/syntax/discriminant.rs @@ -180,7 +180,7 @@ impl Discriminant { } } - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] pub const fn checked_succ(self) -> Option { match self.sign { Sign::Negative => { diff --git a/syntax/mod.rs b/syntax/mod.rs index e624fbef0..da49dc3cb 100644 --- a/syntax/mod.rs +++ b/syntax/mod.rs @@ -128,7 +128,7 @@ pub enum EnumRepr { atom: Atom, repr_type: Type, }, - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] Foreign { rust_type: syn::Path, }, diff --git a/syntax/tokens.rs b/syntax/tokens.rs index b13aef7e0..b8eb234c6 100644 --- a/syntax/tokens.rs +++ b/syntax/tokens.rs @@ -286,7 +286,7 @@ impl ToTokens for EnumRepr { fn to_tokens(&self, tokens: &mut TokenStream) { match self { EnumRepr::Native { atom, repr_type: _ } => atom.to_tokens(tokens), - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] EnumRepr::Foreign { rust_type } => rust_type.to_tokens(tokens), } } diff --git a/syntax/types.rs b/syntax/types.rs index 9bd03808f..82b453008 100644 --- a/syntax/types.rs +++ b/syntax/types.rs @@ -92,7 +92,7 @@ impl<'a> Types<'a> { EnumRepr::Native { atom: _, repr_type } => { all.insert(repr_type); } - #[cfg(feature = "experimental")] + #[cfg(feature = "experimental-enum-variants-from-header")] EnumRepr::Foreign { rust_type: _ } => {} } let ident = &enm.name.rust;