aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/renderer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'mingling_macros/src/renderer.rs')
-rw-r--r--mingling_macros/src/renderer.rs11
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()
}