From ba0adc2fa0c42a3646d50d499558bc532eae2cba Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 5 Apr 2026 20:47:03 +0800 Subject: Replace unsafe unwrap with unwrap_unchecked in renderer macro --- mingling_macros/src/renderer.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mingling_macros') diff --git a/mingling_macros/src/renderer.rs b/mingling_macros/src/renderer.rs index 4edac88..f700cbf 100644 --- a/mingling_macros/src/renderer.rs +++ b/mingling_macros/src/renderer.rs @@ -112,7 +112,9 @@ pub fn renderer_attr(item: TokenStream) -> TokenStream { #[cfg(feature = "general_renderer")] let general_renderer_entry = quote! { Self::#previous_type => { - let raw = any.restore::<#previous_type>().unwrap(); + // SAFETY: Only types that match will enter this branch for forced conversion, + // and `AnyOutput::new` ensures the type implements serde::Serialize + let raw = unsafe { any.restore::<#previous_type>().unwrap_unchecked() }; let mut r = ::mingling::RenderResult::default(); ::mingling::GeneralRenderer::render(&raw, setting, &mut r)?; Ok(r) -- cgit