aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/func/gen_program.rs
Commit message (Collapse)AuthorAgeFilesLines
* refactor!: replace build.rs with compile-time macro build steps魏曹先生28 hours1-19/+46
| | | | | | | | | | | | | BREAKING CHANGE: Replace the `build`/`builds` feature system with compile-time macro-driven generation. `gen_program!()` now automatically invokes `build_comp!()` and `build_pathf!()` when the `comp`/`pathf` features are enabled, eliminating the need for `build.rs` and `[build-dependencies]` blocks. This removes the `build` feature, the `mingling::build` module, and all related build-time API functions. Completion scripts are now written to `{target_directory}/mingling/` instead of `target/release/`. The `mingling_cli` uses `build_comp!("mling")` for its custom binary name.
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生42 hours1-1/+2
| | | | | | | | | 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.
* chore: add "Doc Not Optimize" comments to source files魏曹先生5 days1-0/+1
| | | | | Mark all source files with a comment indicating they are not optimized for documentation purposes.
* feat(dispatcher, gen_program): add From impl and default Entry pack type魏曹先生2026-07-281-0/+2
| | | | | | Add a `From<pack_Type> for crate::Entry` implementation in `dispatcher!()` macro and a default `Entry` pack type in `gen_program!()` for ergonomic program entry handling
* feat(macros): wrap gen_program output in a hidden module魏曹先生2026-07-281-20/+85
| | | | | | Move pathf type resolution from `program_final_gen` to `gen_program` and isolate generated code inside `__this_program_impl` to prevent namespace pollution
* refactor(macros): move pathf include from gen_program into魏曹先生2026-07-281-10/+0
| | | | program_final_gen
* refactor(pathf): move type resolution from compile-time to build-time魏曹先生2026-07-281-0/+10
|
* feat(macros): split monolith into one-macro-per-file modules魏曹先生2026-07-261-586/+5
|
* feat(any): make `Grouped` trait unsafe and encapsulate `AnyOutput`魏曹先生2026-07-211-11/+11
| | | | | | | | | | 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.
* fix: conditionally compile pathf_hint based on "pathf" feature魏曹先生2026-07-201-0/+4
|
* feat(macros): add compile_error hint when pathf map is missing魏曹先生2026-07-201-30/+52
| | | | | | Use Option for load_pathf_map return type and emit a descriptive compile_error when the type mapping file cannot be loaded, guiding users to set up build.rs correctly
* feat(core)!: remove `to_chain` and `to_render` from `Grouped` trait魏曹先生2026-07-201-2/+2
| | | | | Move routing methods exclusively to the `Routable` trait and update all macro-generated code to reference `Routable` instead of `Grouped`
* chore(macros): reorganize module hierarchy in mingling_macros魏曹先生2026-07-201-0/+602
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.