aboutsummaryrefslogtreecommitdiff
path: root/mingling
diff options
context:
space:
mode:
Diffstat (limited to 'mingling')
-rw-r--r--mingling/Cargo.toml5
-rw-r--r--mingling/src/features.rs22
2 files changed, 27 insertions, 0 deletions
diff --git a/mingling/Cargo.toml b/mingling/Cargo.toml
index 7c7993b..92cca39 100644
--- a/mingling/Cargo.toml
+++ b/mingling/Cargo.toml
@@ -54,7 +54,12 @@ docs_rs = []
# Features
clap = ["mingling_core/clap", "mingling_macros/clap"]
+
+# Dispatch strategy (mutually exclusive; none = auto, currently linear)
+dispatch_linear = ["mingling_macros/dispatch_linear"]
dispatch_tree = ["mingling_macros/dispatch_tree"]
+dispatch_phf = ["mingling_macros/dispatch_phf"]
+
repl = ["mingling_core/repl", "mingling_macros/repl"]
comp = ["mingling_core/comp", "mingling_macros/comp"]
picker = ["mingling_core/picker", "dep:arg-picker", "arg-picker/mingling_support"]
diff --git a/mingling/src/features.rs b/mingling/src/features.rs
index 8a3ce75..3d9a382 100644
--- a/mingling/src/features.rs
+++ b/mingling/src/features.rs
@@ -86,6 +86,28 @@ pub const MINGLING_DEFAULT: bool = false;
#[cfg(feature = "default")]
#[allow(unused)]
pub const MINGLING_DEFAULT: bool = true;
+/// Whether the `dispatch_linear` feature is enabled
+/// Current: `disabled`
+#[cfg(not(feature = "dispatch_linear"))]
+#[allow(unused)]
+pub const MINGLING_DISPATCH_LINEAR: bool = false;
+
+/// Whether the `dispatch_linear` feature is enabled
+/// Current: `enabled`
+#[cfg(feature = "dispatch_linear")]
+#[allow(unused)]
+pub const MINGLING_DISPATCH_LINEAR: bool = true;
+/// Whether the `dispatch_phf` feature is enabled
+/// Current: `disabled`
+#[cfg(not(feature = "dispatch_phf"))]
+#[allow(unused)]
+pub const MINGLING_DISPATCH_PHF: bool = false;
+
+/// Whether the `dispatch_phf` feature is enabled
+/// Current: `enabled`
+#[cfg(feature = "dispatch_phf")]
+#[allow(unused)]
+pub const MINGLING_DISPATCH_PHF: bool = true;
/// Whether the `dispatch_tree` feature is enabled
/// Current: `disabled`
#[cfg(not(feature = "dispatch_tree"))]