1interface lists { 2 list-u8-param: func(x: list<u8>) 3 list-u16-param: func(x: list<u16>) 4 list-u32-param: func(x: list<u32>) 5 list-u64-param: func(x: list<u64>) 6 list-s8-param: func(x: list<s8>) 7 list-s16-param: func(x: list<s16>) 8 list-s32-param: func(x: list<s32>) 9 list-s64-param: func(x: list<s64>) 10 list-float32-param: func(x: list<float32>) 11 list-float64-param: func(x: list<float64>) 12 13 list-u8-ret: func() -> list<u8> 14 list-u16-ret: func() -> list<u16> 15 list-u32-ret: func() -> list<u32> 16 list-u64-ret: func() -> list<u64> 17 list-s8-ret: func() -> list<s8> 18 list-s16-ret: func() -> list<s16> 19 list-s32-ret: func() -> list<s32> 20 list-s64-ret: func() -> list<s64> 21 list-float32-ret: func() -> list<float32> 22 list-float64-ret: func() -> list<float64> 23 24 tuple-list: func(x: list<tuple<u8, s8>>) -> list<tuple<s64, u32>> 25 string-list-arg: func(a: list<string>) 26 string-list-ret: func() -> list<string> 27 tuple-string-list: func(x: list<tuple<u8, string>>) -> list<tuple<string, u8>> 28 string-list: func(x: list<string>) -> list<string> 29 30 record some-record { 31 x: string, 32 y: other-record, 33 z: list<other-record>, 34 c1: u32, 35 c2: u64, 36 c3: s32, 37 c4: s64, 38 } 39 record other-record { 40 a1: u32, 41 a2: u64, 42 a3: s32, 43 a4: s64, 44 b: string, 45 c: list<u8>, 46 } 47 record-list: func(x: list<some-record>) -> list<other-record> 48 record-list-reverse: func(x: list<other-record>) -> list<some-record> 49 50 variant some-variant { 51 a(string), 52 b, 53 c(u32), 54 d(list<other-variant>), 55 } 56 variant other-variant { 57 a, 58 b(u32), 59 c(string), 60 } 61 variant-list: func(x: list<some-variant>) -> list<other-variant> 62 63 type load-store-all-sizes = list<tuple< 64 string, 65 u8, 66 s8, 67 u16, 68 s16, 69 u32, 70 s32, 71 u64, 72 s64, 73 float32, 74 float64, 75 char, 76 >> 77 load-store-everything: func(a: load-store-all-sizes) -> load-store-all-sizes 78} 79 80default world the-lists { 81 import import-lists: self.lists 82 export export-lists: self.lists 83} 84