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/_remove-pack-macros.md | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 docs/dev/pages/issues/_remove-pack-macros.md (limited to 'docs/dev/pages/issues/_remove-pack-macros.md') diff --git a/docs/dev/pages/issues/_remove-pack-macros.md b/docs/dev/pages/issues/_remove-pack-macros.md new file mode 100644 index 0000000..74c21aa --- /dev/null +++ b/docs/dev/pages/issues/_remove-pack-macros.md @@ -0,0 +1,49 @@ +`

[T0] Remove the pack! Family of Macros

+

+ Breaking: retire the entire pack! family in favor of the Grouped derive +

+ +> [!NOTE] +> +> This is a **Breaking Change** planned for Mingling 0.5.0. + +## Background + +Since the very first version of Mingling, the `pack!` macro has been around. Its purpose has gradually narrowed from "creating a type and registering it to Mingling" to "creating a newtype that derives Grouped". In other words, the functionality of `pack!` is gradually being replaced by the `Grouped derive`. + +Furthermore, in 0.2.0, in order to accommodate `StructuralData derive`, Mingling introduced `pack_structural!` and `pack_err_structural!` variants all at once, which greatly increases the maintenance cost of the project. + +## Plan + +Remove the entire `pack!` family of macros (`pack!`, `pack_structural!`, `pack_err_structural!`) as a Breaking Change in 0.5.0. + +All future type creation will be done as follows: + +```rust +// Before +pack!(ResultNames = Vec); + +// After +#[derive(Grouped)] +pub struct ResultNames { + names: Vec +} +``` + +## Tasks + +- [x] Identify all usages of `pack!` / `pack_structural!` / `pack_err_structural!` across the codebase, examples, and docs +- [x] Migrate internal usages to `#[derive(Grouped)]` +- [x] Remove the macro definitions and their re-exports +- [x] Update the docs / helpdoc examples that reference `pack!` +- [x] Update downstream feature docs (`structural_renderer` etc.) where `pack_structural!` was involved +- [x] Verify all tests pass + +## 🕘 Progress + +- [x] In Progress +- [x] Complete + +

+ Written by @Weicao-CatilGrass +

-- cgit