From d895af6e53eb4a18554b3174f819eb771e81ca05 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 8 May 2026 14:49:25 +0800 Subject: Expose compile-time feature flags as public constants --- mingling/src/features.rs | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ mingling/src/lib.rs | 30 +++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 mingling/src/features.rs (limited to 'mingling/src') diff --git a/mingling/src/features.rs b/mingling/src/features.rs new file mode 100644 index 0000000..d75f926 --- /dev/null +++ b/mingling/src/features.rs @@ -0,0 +1,53 @@ +#[cfg(not(feature = "nightly"))] +pub const MINGLING_NIGHTLY: bool = false; + +#[cfg(feature = "nightly")] +pub const MINGLING_NIGHTLY: bool = true; + +#[cfg(not(feature = "debug"))] +pub const MINGLING_DEBUG: bool = false; + +#[cfg(feature = "debug")] +pub const MINGLING_DEBUG: bool = true; + +#[cfg(not(feature = "async"))] +pub const MINGLING_ASYNC: bool = false; + +#[cfg(feature = "async")] +pub const MINGLING_ASYNC: bool = true; + +#[cfg(not(feature = "clap"))] +pub const MINGLING_CLAP: bool = false; + +#[cfg(feature = "clap")] +pub const MINGLING_CLAP: bool = true; + +#[cfg(not(feature = "dispatch_tree"))] +pub const MINGLING_DISPATCH_TREE: bool = false; + +#[cfg(feature = "dispatch_tree")] +pub const MINGLING_DISPATCH_TREE: bool = true; + +#[cfg(not(feature = "general_renderer"))] +pub const MINGLING_GENERAL_RENDERER: bool = false; + +#[cfg(feature = "general_renderer")] +pub const MINGLING_GENERAL_RENDERER: bool = true; + +#[cfg(not(feature = "repl"))] +pub const MINGLING_REPL: bool = false; + +#[cfg(feature = "repl")] +pub const MINGLING_REPL: bool = true; + +#[cfg(not(feature = "comp"))] +pub const MINGLING_COMP: bool = false; + +#[cfg(feature = "comp")] +pub const MINGLING_COMP: bool = true; + +#[cfg(not(feature = "parser"))] +pub const MINGLING_PARSER: bool = false; + +#[cfg(feature = "parser")] +pub const MINGLING_PARSER: bool = true; diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs index f366296..21a848d 100644 --- a/mingling/src/lib.rs +++ b/mingling/src/lib.rs @@ -137,3 +137,33 @@ pub use mingling_macros::Groupped; pub mod _mingling_examples { pub use crate::example_docs::*; } + +mod features; +pub mod feature { + /// Whether the `async` feature is enabled + pub use crate::features::MINGLING_ASYNC; + + /// Whether the `clap` feature is enabled + pub use crate::features::MINGLING_CLAP; + + /// Whether the `comp` feature is enabled + pub use crate::features::MINGLING_COMP; + + /// Whether the `debug` feature is enabled + pub use crate::features::MINGLING_DEBUG; + + /// Whether the `dispatch_tree` feature is enabled + pub use crate::features::MINGLING_DISPATCH_TREE; + + /// Whether the `general_renderer` feature is enabled + pub use crate::features::MINGLING_GENERAL_RENDERER; + + /// Whether the `nightly` feature is enabled + pub use crate::features::MINGLING_NIGHTLY; + + /// Whether the `parser` feature is enabled + pub use crate::features::MINGLING_PARSER; + + /// Whether the `repl` feature is enabled + pub use crate::features::MINGLING_REPL; +} -- cgit