From: Aleksy Grabowski Date: Fri, 6 Sep 2024 08:26:17 +0000 (+0200) Subject: Revert "Remove unnecessary "unsafe" block to fix compiler warning" X-Git-Tag: v0.10.0~113^2~1 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=d3071988b2aa1f9ef73c8b1c62ef89d3333876f2;p=scryer-prolog.git Revert "Remove unnecessary "unsafe" block to fix compiler warning" This reverts commit 7af93f153240b7ddb2023ea1a24d42db802e747a. --- 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!(), + }, + } } }