From f738b42e497b7088365d0c3b76108fc7fa0f313c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bennet=20Ble=C3=9Fmann?= Date: Mon, 17 Feb 2025 20:19:36 +0100 Subject: [PATCH] don't panic on unexpected/invalid value --- src/ffi.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ffi.rs b/src/ffi.rs index 0b4a6757..1629a7b4 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -292,6 +292,7 @@ impl ForeignFunctionTable { let field = &struct_type.fields[i]; unsafe { + #[allow(clippy::wildcard_in_or_patterns)] match (*field.as_raw_ptr()).type_ as u32 { libffi::raw::FFI_TYPE_UINT8 => try_write_int!(u8), libffi::raw::FFI_TYPE_SINT8 => try_write_int!(i8), @@ -322,9 +323,11 @@ impl ForeignFunctionTable { ); field_ptr = field_ptr.add(struct_size); } - _ => { - unreachable!() - } + libffi::raw::FFI_TYPE_VOID + | libffi::raw::FFI_TYPE_INT + | libffi::raw::FFI_TYPE_LONGDOUBLE + | libffi::raw::FFI_TYPE_COMPLEX + | _ => return Err(FFIError::InvalidFFIType), } } } -- 2.54.0