@@ -155,7 +155,46 @@ impl test::wit::Roundtrip for Host {
155155 ) -> test:: wit:: roundtrip:: Testenum {
156156 x
157157 }
158- fn roundtrip_fix_list ( & mut self , x : Vec < u8 > ) -> Vec < u8 > {
158+ fn roundtrip_fix_list ( & mut self , x : [ u8 ; 4 ] ) -> [ u8 ; 4 ] {
159+ x
160+ }
161+ fn roundtrip_fix_list_u32 ( & mut self , x : [ u32 ; 4 ] ) -> [ u32 ; 4 ] {
162+ x
163+ }
164+ fn roundtrip_fix_list_u64 ( & mut self , x : [ u64 ; 4 ] ) -> [ u64 ; 4 ] {
165+ x
166+ }
167+ fn roundtrip_fix_list_i8 ( & mut self , x : [ i8 ; 4 ] ) -> [ i8 ; 4 ] {
168+ x
169+ }
170+ fn roundtrip_fix_list_i16 ( & mut self , x : [ i16 ; 4 ] ) -> [ i16 ; 4 ] {
171+ x
172+ }
173+ fn roundtrip_fix_list_i32 ( & mut self , x : [ i32 ; 4 ] ) -> [ i32 ; 4 ] {
174+ x
175+ }
176+ fn roundtrip_fix_list_i64 ( & mut self , x : [ i64 ; 4 ] ) -> [ i64 ; 4 ] {
177+ x
178+ }
179+ fn roundtrip_fix_list_f32 ( & mut self , x : [ f32 ; 4 ] ) -> [ f32 ; 4 ] {
180+ x
181+ }
182+ fn roundtrip_fix_list_f64 ( & mut self , x : [ f64 ; 4 ] ) -> [ f64 ; 4 ] {
183+ x
184+ }
185+ fn roundtrip_fix_list_u8_size8 ( & mut self , x : [ u8 ; 8 ] ) -> [ u8 ; 8 ] {
186+ x
187+ }
188+ fn roundtrip_fix_list_u64_size2 ( & mut self , x : [ u64 ; 2 ] ) -> [ u64 ; 2 ] {
189+ x
190+ }
191+ fn roundtrip_fix_list_string ( & mut self , x : [ String ; 4 ] ) -> [ String ; 4 ] {
192+ x
193+ }
194+ fn roundtrip_fix_array_of_lists ( & mut self , x : [ Vec < u8 > ; 3 ] ) -> [ Vec < u8 > ; 3 ] {
195+ x
196+ }
197+ fn roundtrip_fix_array_of_string_lists ( & mut self , x : [ Vec < String > ; 2 ] ) -> [ Vec < String > ; 2 ] {
159198 x
160199 }
161200
@@ -334,10 +373,23 @@ mod wit_test {
334373 make_test ! { roundtrip_flags_large, in arb_largeflags( ) }
335374 make_test ! { roundtrip_variant, in arb_testvariant( ) }
336375 make_test ! { roundtrip_enum, in arb_testenum( ) }
337- make_test ! { roundtrip_fix_list, : Vec <u8 > }
376+ make_test ! { roundtrip_fix_list, : [ u8 ; 4 ] }
377+ make_test ! { roundtrip_fix_list_u32, : [ u32 ; 4 ] }
378+ make_test ! { roundtrip_fix_list_u64, : [ u64 ; 4 ] }
379+ make_test ! { roundtrip_fix_list_i8, : [ i8 ; 4 ] }
380+ make_test ! { roundtrip_fix_list_i16, : [ i16 ; 4 ] }
381+ make_test ! { roundtrip_fix_list_i32, : [ i32 ; 4 ] }
382+ make_test ! { roundtrip_fix_list_i64, : [ i64 ; 4 ] }
383+ make_test ! { roundtrip_fix_list_f32, : [ f32 ; 4 ] }
384+ make_test ! { roundtrip_fix_list_f64, : [ f64 ; 4 ] }
385+ make_test ! { roundtrip_fix_list_u8_size8, : [ u8 ; 8 ] }
386+ make_test ! { roundtrip_fix_list_u64_size2, : [ u64 ; 2 ] }
387+ make_test ! { roundtrip_fix_list_string, : [ String ; 4 ] }
388+ make_test ! { roundtrip_fix_array_of_lists, : [ Vec <u8 >; 3 ] }
389+ make_test ! { roundtrip_fix_array_of_string_lists, : [ Vec <String >; 2 ] }
338390
339391 #[ test]
340- fn test_simple_func ( ) {
392+ fn test_roundtrip_no_result ( ) {
341393 sb ( ) . roundtrip ( ) . roundtrip_no_result ( 42 ) ;
342394 }
343395
0 commit comments