diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-26 07:22:38 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-26 07:22:38 +0800 |
| commit | 30e8275059fc66ddc996513f60f536732378d6cf (patch) | |
| tree | c569f6dc8da1af7fd6a46d4fd5e173277fb6f725 /mingling_macros/src/lib.rs | |
| parent | 8a796ecbe4d8edb9c8e67b9fc44028d3778113ab (diff) | |
feat(macros): Render ResultEmpty for non-structural types
Diffstat (limited to 'mingling_macros/src/lib.rs')
| -rw-r--r-- | mingling_macros/src/lib.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mingling_macros/src/lib.rs b/mingling_macros/src/lib.rs index c239a55..fdc2aaa 100644 --- a/mingling_macros/src/lib.rs +++ b/mingling_macros/src/lib.rs @@ -1838,7 +1838,13 @@ pub fn program_final_gen(_input: TokenStream) -> TokenStream { ) -> Result<::mingling::RenderResult, ::mingling::error::StructuralRendererSerializeError> { match any.member_id { #(#structural_renderer_tokens)* - _ => Ok(::mingling::RenderResult::default()), + _ => { + // Non-structural types: render ResultEmpty (which implements + // StructuralData + Serialize) instead of producing nothing. + let mut r = ::mingling::RenderResult::default(); + ::mingling::StructuralRenderer::render(&ResultEmpty, setting, &mut r)?; + Ok(r) + } } } }; |
