make Func types more flexibly

This commit is contained in:
vms 2020-05-24 19:04:03 +03:00
parent 2369a8131d
commit 361427f483

View File

@ -78,15 +78,15 @@ impl FCEModule {
/// Extracts ABI from a module.
fn create_abi(instance: &Instance, config: &Config) -> Result<ABI, FCEError> {
unsafe {
let allocate = std::mem::transmute::<Func<'_, i32, i32>, Func<'static, i32, i32>>(
let allocate = std::mem::transmute::<Func<'_, i32, i32>, Func<'static, _, _>>(
instance.exports.get(&config.allocate_fn_name)?
);
let deallocate = std::mem::transmute::<Func<'_, (i32, i32)>, Func<'static, (i32, i32)>>(
let deallocate = std::mem::transmute::<Func<'_, (i32, i32)>, Func<'static, _, _>>(
instance.exports.get(&config.deallocate_fn_name)?
);
let invoke = std::mem::transmute::<Func<'_, (i32, i32), i32>, Func<'static, (i32, i32), i32>, >(
let invoke = std::mem::transmute::<Func<'_, (i32, i32), i32>, Func<'static, _, _>, >(
instance.exports.get(&config.invoke_fn_name)?
);