From db84beb600532f2366babd9a6563214bee1f3732 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 17 Aug 2026 05:51:36 +0800 Subject: docs(sidebar): mark completed issues and reorder them --- docs/dev/pages/issues/_modify-dispatcher-syntax.md | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 docs/dev/pages/issues/_modify-dispatcher-syntax.md (limited to 'docs/dev/pages/issues/_modify-dispatcher-syntax.md') diff --git a/docs/dev/pages/issues/_modify-dispatcher-syntax.md b/docs/dev/pages/issues/_modify-dispatcher-syntax.md new file mode 100644 index 0000000..ed409ef --- /dev/null +++ b/docs/dev/pages/issues/_modify-dispatcher-syntax.md @@ -0,0 +1,44 @@ +

[T1] Modify the dispatcher! Syntax

+

+ Breaking: drop the CMD* struct from the explicit form of dispatcher! +

+ +> [!NOTE] +> +> This is a **Breaking Change** planned for Mingling 0.5.0, and it depends on [Remove with_dispatcher and with_dispatchers](t0_remove-with-dispatcher). + +## Background + +Once `Dispatcher` registration is compile-time collected (see [Remove with_dispatcher and with_dispatchers](t0_remove-with-dispatcher)), the `CMD*` struct becomes unnecessary — it only existed to give `with_dispatcher` something to register. + +## Plan + +Simplify the `dispatcher!` syntax: the explicit form no longer creates a `CMD*` struct, so only the entry type needs to be given. + +```rust +// Before +dispatcher!("command", CMDCommand => EntryCommand); + +// After +dispatcher!("command", EntryCommand); + +// NOTE: The implicit mode is not affected +``` + +## Tasks + +- [x] Update `dispatcher!` to accept the simplified explicit form (`"name", EntryType`) +- [x] Decide whether the old `CMDType => EntryType` form should error with a helpful message or be removed outright +- [x] Remove the generated `CMD*` struct machinery +- [x] Update `#[command]` macro internals that depend on `CMD*` +- [x] Migrate examples, tests, and docs +- [x] Keep the implicit mode (`dispatcher!("name")`) working unchanged + +## 🕘 Progress + +- [x] In Progress +- [x] Complete + +

+ Written by @Weicao-CatilGrass +

-- cgit