File tree Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -1601,7 +1601,26 @@ fn pass_argument_to_wasm(
1601
1601
let adjusted_in_mem_offset = in_mem_offset + bytes. len ( ) as i32 ;
1602
1602
Ok ( ( buffer, offset, adjusted_in_mem_offset) )
1603
1603
}
1604
- Value :: Tuple ( _t) => todo ! ( "Value type not yet implemented: {:?}" , value) ,
1604
+ Value :: Tuple ( TupleData {
1605
+ type_signature,
1606
+ data_map,
1607
+ } ) => {
1608
+ let mut buffer = vec ! [ ] ;
1609
+ let mut offset = offset;
1610
+ let mut in_mem_offset = in_mem_offset;
1611
+ for name in type_signature. get_type_map ( ) . keys ( ) {
1612
+ let b;
1613
+ ( b, offset, in_mem_offset) = pass_argument_to_wasm (
1614
+ memory,
1615
+ store. as_context_mut ( ) ,
1616
+ & data_map[ name] ,
1617
+ offset,
1618
+ in_mem_offset,
1619
+ ) ?;
1620
+ buffer. extend ( b) ;
1621
+ }
1622
+ Ok ( ( buffer, offset, in_mem_offset) )
1623
+ }
1605
1624
}
1606
1625
}
1607
1626
You can’t perform that action at this time.
0 commit comments