From 67ec96406e6f4b8f30bc0a38c9ba95845b3cfb52 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Tue, 21 Jul 2026 07:37:34 +0800 Subject: feat(macros): add render_route macro and renderify attribute for render pipeline error routing --- mingling/src/lib.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'mingling') diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs index 457f393..f08e9e4 100644 --- a/mingling/src/lib.rs +++ b/mingling/src/lib.rs @@ -123,8 +123,17 @@ pub mod macros { pub use mingling_macros::register_renderer; #[doc(hidden)] pub use mingling_macros::register_type; + /// `render_route! { /* ... */ }` - Routes errors to the rendering pipeline. + /// Similar to `route!`, but used in `#[renderer]` and `#[help]` functions + /// where the return type is `RenderResult` instead of `ChainProcess`. + #[cfg(feature = "extra_macros")] + pub use mingling_macros::render_route; /// `#[renderer]` - Used to generate a struct implementing the `Renderer` trait via a method pub use mingling_macros::renderer; + /// `#[renderify]` - An extension attribute macro that transforms `expr?` into `render_route!(expr)`. + /// Can be used standalone or as a renderer/help extension: `#[renderer(renderify, ...)]`, `#[help(renderify, ...)]`. + #[cfg(feature = "extra_macros")] + pub use mingling_macros::renderify; /// `route! { /* ... */ }` - Used to generate a route that either returns a successful result or early returns an error. #[cfg(feature = "extra_macros")] pub use mingling_macros::route; -- cgit