From d3071988b2aa1f9ef73c8b1c62ef89d3333876f2 Mon Sep 17 00:00:00 2001 From: Aleksy Grabowski Date: Fri, 6 Sep 2024 10:26:17 +0200 Subject: [PATCH] Revert "Remove unnecessary "unsafe" block to fix compiler warning" This reverts commit 7af93f153240b7ddb2023ea1a24d42db802e747a. --- src/ffi.rs | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/ffi.rs b/src/ffi.rs index 2895009b..a3e93380 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -89,25 +89,27 @@ impl ForeignFunctionTable { } fn map_type_ffi(&mut self, source: &Atom) -> *mut ffi_type { - match source { - atom!("sint64") => addr_of_mut!(types::sint64), - atom!("sint32") => addr_of_mut!(types::sint32), - atom!("sint16") => addr_of_mut!(types::sint16), - atom!("sint8") => addr_of_mut!(types::sint8), - atom!("uint64") => addr_of_mut!(types::uint64), - atom!("uint32") => addr_of_mut!(types::uint32), - atom!("uint16") => addr_of_mut!(types::uint16), - atom!("uint8") => addr_of_mut!(types::uint8), - atom!("bool") => addr_of_mut!(types::sint8), - atom!("void") => addr_of_mut!(types::void), - atom!("cstr") => addr_of_mut!(types::pointer), - atom!("ptr") => addr_of_mut!(types::pointer), - atom!("f32") => addr_of_mut!(types::float), - atom!("f64") => addr_of_mut!(types::double), - struct_name => match self.structs.get_mut(&*struct_name.as_str()) { - Some(ref mut struct_type) => &mut struct_type.ffi_type, - None => unreachable!(), - }, + unsafe { + match source { + atom!("sint64") => addr_of_mut!(types::sint64), + atom!("sint32") => addr_of_mut!(types::sint32), + atom!("sint16") => addr_of_mut!(types::sint16), + atom!("sint8") => addr_of_mut!(types::sint8), + atom!("uint64") => addr_of_mut!(types::uint64), + atom!("uint32") => addr_of_mut!(types::uint32), + atom!("uint16") => addr_of_mut!(types::uint16), + atom!("uint8") => addr_of_mut!(types::uint8), + atom!("bool") => addr_of_mut!(types::sint8), + atom!("void") => addr_of_mut!(types::void), + atom!("cstr") => addr_of_mut!(types::pointer), + atom!("ptr") => addr_of_mut!(types::pointer), + atom!("f32") => addr_of_mut!(types::float), + atom!("f64") => addr_of_mut!(types::double), + struct_name => match self.structs.get_mut(&*struct_name.as_str()) { + Some(ref mut struct_type) => &mut struct_type.ffi_type, + None => unreachable!(), + }, + } } } -- 2.54.0