diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-04 13:26:48 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-04 13:26:48 +0800 |
| commit | 4588e17f7ddacd8391a5c881a209735e08d48797 (patch) | |
| tree | 2b513f4d4f8a18ebd3a34cff7c0fb8abf5787321 /examples/example-combine-pathf-metadata/page.toml | |
| parent | f7862affd74ac3b129f9e9791a4cd4e1c7e3e6d1 (diff) | |
feat: add entry metadata system with compile-time typed values
Add `Metadata<B>` trait and `#[metadata(Entry)]` attribute macro
to attach arbitrary, compile-time-typed metadata to entries.
Implement `ProgramCollect::get_metadata<T>()` for runtime retrieval,
backed by a global registry populated by `register_metadata!`.
Extend `pathf` with `MetadataPattern` to resolve metadata types
across modules at build time. Add two examples demonstrating
metadata usage with and without pathf integration.
Diffstat (limited to 'examples/example-combine-pathf-metadata/page.toml')
| -rw-r--r-- | examples/example-combine-pathf-metadata/page.toml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/examples/example-combine-pathf-metadata/page.toml b/examples/example-combine-pathf-metadata/page.toml new file mode 100644 index 0000000..76c1700 --- /dev/null +++ b/examples/example-combine-pathf-metadata/page.toml @@ -0,0 +1,10 @@ +[example] +id = "example-combine-pathf-metadata" +name = "Pathfinder + Metadata" +icon = "🧭" +category = "advanced" +desc = """ +Combines the `pathf` feature with entry metadata. The metadata `DataType` and the entry `BindType` are defined inside a submodule, and `pathf` resolves them for `gen_program!()` at build time. +""" +tags = ["pathf", "metadata", "build.rs"] +files = ["src/main.rs", "src/sub/mod.rs", "build.rs", "Cargo.toml"] |
