aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/systems
Commit message (Collapse)AuthorAgeFilesLines
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生3 days1-7/+0
| | | | | | | | | Remove the `pack!`, `pack_err!`, `pack_structural!`, and `pack_err_structural!` macros, replacing all pipeline type definitions with `#[derive(Grouped)]` and `#[derive(Grouped, Wrap)]` attributes. This changes the generated struct shape from named-field structs with an `inner` field to tuple structs accessed via `.0`, and removes the auto-generated `name` and `info` fields from error types.
* refactor!: remove dynamic dispatcher registration API魏曹先生3 days2-29/+60
| | | | | | | Dispatchers are now always registered at compile time, removing the `with_dispatcher` / `with_dispatchers` methods and the `PathfinderConfig` API. The `dispatch_tree` feature now only controls the matching strategy (trie vs linear list).
* refactor!: rename dispatch_args_trie to dispatch_args魏曹先生3 days1-2/+2
|
* chore: add "Doc Not Optimize" comments to source files魏曹先生6 days3-0/+3
| | | | | Mark all source files with a comment indicating they are not optimized for documentation purposes.
* refactor(macros): clean up clippy lints and simplify code魏曹先生10 days1-1/+1
|
* refactor(dispatch_tree): match longest registered prefix in trie魏曹先生2026-08-041-33/+45
| | | | | | | | Refactor `build_dispatch_body` to take a caller-provided `no_match` fallback token stream instead of hardcoding `build_entry_fallback` calls. Thread the fallback through recursive calls so child paths are preferred over exact endpoints at the same depth, matching the dynamic dispatcher's longest-prefix-wins behavior.
* chore!: rename ErrorDispatcherNotFound to EntryFallback魏曹先生2026-08-031-6/+6
| | | | | | | | Rename the internal fallback type and its associated `ProgramCollect` plumbing from `ErrorDispatcherNotFound`/`build_dispatcher_not_found` to `EntryFallback`/`build_entry_fallback`, along with the generated enum variant and pack type. Update all documentation, examples, and tests accordingly.
* refactor(pathf): move type resolution from compile-time to build-time魏曹先生2026-07-281-31/+12
|
* feat(macros): split monolith into one-macro-per-file modules魏曹先生2026-07-262-345/+7
|
* feat(any): make `Grouped` trait unsafe and encapsulate `AnyOutput`魏曹先生2026-07-211-2/+10
| | | | | | | | | | fields Declare `Grouped` as `unsafe trait` to make its soundness invariant visible. Make `AnyOutput.type_id` and `member_id` private; add public accessors and the `unsafe fn new_bare` constructor.
* feat(core): add generic parameter `C` to `StructuralData` trait魏曹先生2026-07-211-6/+6
| | | | | | | Make `StructuralData` and `StructuralDataSealed` generic over a program collector type to bypass the orphan rule for `group_structural!`. This enables external types to implement `StructuralData<crate::ThisProgram>` without violating coherence.
* chore(macros): reorganize module hierarchy in mingling_macros魏曹先生2026-07-203-0/+778
Restructure flat module layout into logical directories (attr/, derive/, func/, systems/, extensions/, utils.rs). Tighten internal function visibility to pub(crate). All public API signatures remain unchanged.