11use crate :: {
2- handle_result, wasm_byte_vec_t, wasm_exporttype_t , wasm_exporttype_vec_t , wasm_importtype_t ,
3- wasm_importtype_vec_t, wasm_store_t, wasmtime_error_t,
2+ handle_result, wasm_byte_vec_t, wasm_engine_t , wasm_exporttype_t , wasm_exporttype_vec_t ,
3+ wasm_importtype_t , wasm_importtype_vec_t, wasm_store_t, wasmtime_error_t,
44} ;
55use std:: ptr;
66use wasmtime:: { Engine , Module } ;
@@ -29,7 +29,10 @@ pub extern "C" fn wasm_module_new(
2929 binary : & wasm_byte_vec_t ,
3030) -> Option < Box < wasm_module_t > > {
3131 let mut ret = ptr:: null_mut ( ) ;
32- match wasmtime_module_new ( store, binary, & mut ret) {
32+ let engine = wasm_engine_t {
33+ engine : store. store . engine ( ) . clone ( ) ,
34+ } ;
35+ match wasmtime_module_new ( & engine, binary, & mut ret) {
3336 Some ( _err) => None ,
3437 None => {
3538 assert ! ( !ret. is_null( ) ) ;
@@ -40,13 +43,12 @@ pub extern "C" fn wasm_module_new(
4043
4144#[ no_mangle]
4245pub extern "C" fn wasmtime_module_new (
43- store : & wasm_store_t ,
46+ engine : & wasm_engine_t ,
4447 binary : & wasm_byte_vec_t ,
4548 ret : & mut * mut wasm_module_t ,
4649) -> Option < Box < wasmtime_error_t > > {
4750 let binary = binary. as_slice ( ) ;
48- let store = & store. store ;
49- handle_result ( Module :: from_binary ( store. engine ( ) , binary) , |module| {
51+ handle_result ( Module :: from_binary ( & engine. engine , binary) , |module| {
5052 let imports = module
5153 . imports ( )
5254 . map ( |i| wasm_importtype_t:: new ( i. module ( ) . to_owned ( ) , i. name ( ) . to_owned ( ) , i. ty ( ) ) )
0 commit comments