@@ -9,28 +9,28 @@ pub struct WasmOutput {
9
9
}
10
10
11
11
pub fn run_modify_request ( wasm_path : & str , input : & str ) -> Result < WasmOutput , String > {
12
- let engine = Engine :: default ( ) ;
13
- let module = Module :: from_file ( & engine, wasm_path) . map_err ( |e| e. to_string ( ) ) ?;
14
- let mut store = Store :: new ( & engine, ( ) ) ;
15
- let instance = Instance :: new ( & mut store, & module, & [ ] ) . map_err ( |e| e. to_string ( ) ) ?;
12
+ let engine: Engine = Engine :: default ( ) ;
13
+ let module: Module = Module :: from_file ( & engine, wasm_path) . map_err ( |e| e. to_string ( ) ) ?;
14
+ let mut store: Store < ( ) > = Store :: new ( & engine, ( ) ) ;
15
+ let instance: Instance = Instance :: new ( & mut store, & module, & [ ] ) . map_err ( |e| e. to_string ( ) ) ?;
16
16
17
- let func = instance. get_typed_func :: < ( i32 , i32 ) , i32 > ( & mut store, "modify_request" )
17
+ let func: TypedFunc < ( i32 , i32 ) , i32 > = instance. get_typed_func :: < ( i32 , i32 ) , i32 > ( & mut store, "modify_request" )
18
18
. map_err ( |e| e. to_string ( ) ) ?;
19
19
20
- let memory = instance. get_memory ( & mut store, "memory" )
20
+ let memory: Memory = instance. get_memory ( & mut store, "memory" )
21
21
. ok_or_else ( || "failed to find memory export" . to_string ( ) ) ?;
22
22
23
- let input_bytes = input. as_bytes ( ) ;
24
- let ptr = 0 ;
23
+ let input_bytes: & [ u8 ] = input. as_bytes ( ) ;
24
+ let ptr: usize = 0 ;
25
25
memory. write ( & mut store, ptr, input_bytes) . map_err ( |e| e. to_string ( ) ) ?;
26
26
27
- let result_ptr = func. call ( & mut store, ( ptr as i32 , input_bytes. len ( ) as i32 ) )
27
+ let result_ptr: i32 = func. call ( & mut store, ( ptr as i32 , input_bytes. len ( ) as i32 ) )
28
28
. map_err ( |e| e. to_string ( ) ) ?;
29
29
30
- let mut buffer = [ 0u8 ; 4096 ] ;
30
+ let mut buffer: [ u8 ; 4096 ] = [ 0u8 ; 4096 ] ;
31
31
memory. read ( & mut store, result_ptr as usize , & mut buffer) . map_err ( |e| e. to_string ( ) ) ?;
32
32
let nul_pos = buffer. iter ( ) . position ( |& b| b == 0 ) . unwrap_or ( buffer. len ( ) ) ;
33
33
34
- let output = String :: from_utf8_lossy ( & buffer[ ..nul_pos] ) . to_string ( ) ;
34
+ let output: String = String :: from_utf8_lossy ( & buffer[ ..nul_pos] ) . to_string ( ) ;
35
35
serde_json:: from_str ( & output) . map_err ( |e| e. to_string ( ) )
36
36
}
0 commit comments