diff options
Diffstat (limited to 'mingling_macros/src/renderer.rs')
| -rw-r--r-- | mingling_macros/src/renderer.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/mingling_macros/src/renderer.rs b/mingling_macros/src/renderer.rs index a82744a..6de3d59 100644 --- a/mingling_macros/src/renderer.rs +++ b/mingling_macros/src/renderer.rs @@ -270,8 +270,17 @@ pub fn register_renderer(input: TokenStream) -> TokenStream { renderers.insert(renderer_entry_str); renderer_exist.insert(renderer_exist_entry_str); + // Only register general renderer if the type is in STRUCTURED_TYPES #[cfg(feature = "general_renderer")] - general_renderers.insert(general_renderer_entry_str); + { + let is_structured = get_global_set(&crate::STRUCTURED_TYPES) + .lock() + .unwrap() + .contains(&variant_name); + if is_structured { + general_renderers.insert(general_renderer_entry_str); + } + } quote! {}.into() } |
