aboutsummaryrefslogtreecommitdiff
path: root/examples/example-combine-pathf-dispatch-tree/src/main.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-29 15:10:11 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-29 15:10:57 +0800
commit709b672731bcc1b68209cadc38e0de78d7c28c03 (patch)
tree0e5d8fa7b77a52b9a51ecbd5476e33f2e93274ec /examples/example-combine-pathf-dispatch-tree/src/main.rs
parentdc05173f3eafe0e782bc8824581c3819c8688782 (diff)
feat(examples): add pathf + dispatch tree combination example
Diffstat (limited to 'examples/example-combine-pathf-dispatch-tree/src/main.rs')
-rw-r--r--examples/example-combine-pathf-dispatch-tree/src/main.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/example-combine-pathf-dispatch-tree/src/main.rs b/examples/example-combine-pathf-dispatch-tree/src/main.rs
new file mode 100644
index 0000000..98b3e4c
--- /dev/null
+++ b/examples/example-combine-pathf-dispatch-tree/src/main.rs
@@ -0,0 +1,31 @@
+//! Example: Combining pathf + dispatch_tree
+//!
+//! > This example demonstrates how to use `pathf` and `dispatch_tree` together.
+//! > Types are defined in a submodule (`sub`), and `gen_program!()` resolves
+//! > them automatically via pathf without explicit `use` imports.
+//! >
+//! > **Important**: `dispatch_tree` must be enabled in BOTH `[dependencies]`
+//! > AND `[build-dependencies]` so that pathf's builder can detect
+//! > `__internal_dispatcher_*` types needed by the dispatch tree.
+//! >
+//! > Also requires `extra_macros` for the implicit `dispatcher!("hello")` form.
+//!
+//! Run:
+//! ```bash
+//! cargo run --manifest-path examples/example-combine-pathf-dispatch-tree/Cargo.toml --quiet -- hello Alice
+//! ```
+//!
+//! Output:
+//! ```plaintext
+//! Hello, Alice!
+//! ```
+
+mod sub;
+
+use mingling::macros::gen_program;
+
+fn main() {
+ ThisProgram::new().exec_and_exit();
+}
+
+gen_program!();