aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/func/gen_program.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat(dispatcher, gen_program): add From impl and default Entry pack type魏曹先生12 hours1-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魏曹先生13 hours1-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魏曹先生14 hours1-10/+0
| | | | program_final_gen
* refactor(pathf): move type resolution from compile-time to build-time魏曹先生14 hours1-0/+10
|
* feat(macros): split monolith into one-macro-per-file modules魏曹先生3 days1-586/+5
|
* feat(any): make `Grouped` trait unsafe and encapsulate `AnyOutput`魏曹先生8 days1-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魏曹先生9 days1-0/+4
|
* feat(macros): add compile_error hint when pathf map is missing魏曹先生9 days1-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魏曹先生9 days1-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魏曹先生9 days1-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.