diff --git a/src/core/instance/module.rs b/src/core/instance/module.rs index e96e86a..90e76d4 100644 --- a/src/core/instance/module.rs +++ b/src/core/instance/module.rs @@ -16,11 +16,11 @@ pub struct EmptyModule { } impl Module for EmptyModule { - fn init(&mut self, instance: &Instance) -> MizeResult<()> { + fn init(&mut self, instance: Instance) -> MizeResult<()> { println!("empty module fn init"); Ok(()) } - fn exit(&mut self, instance: &Instance) -> MizeResult<()> { + fn exit(&mut self, instance: Instance) -> MizeResult<()> { println!("empty module fn exit"); Ok(()) diff --git a/src/platform/os/mod.rs b/src/platform/os/mod.rs index 90fdeaa..69651a1 100644 --- a/src/platform/os/mod.rs +++ b/src/platform/os/mod.rs @@ -241,11 +241,11 @@ pub fn load_module(instance: &mut Instance, module_name: &str, path: Option) -> ()> = unsafe { lib.get(format!("get_mize_module_{}", module_name).as_bytes())? }; + let func: libloading::Symbol, Instance) -> ()> = unsafe { lib.get(format!("get_mize_module_{}", module_name).as_bytes())? }; let mut module: Box = Box::new(EmptyModule {}); - unsafe { func(&mut module) }; + unsafe { func(&mut module, instance.clone()) }; let mut modules_inner = instance.modules.lock()?;