package test:variants-unioning-types; world a { variant v-u32 { a(list), b(tuple), } import f-u32: func(x: v-u32); variant v-s32 { a(list), b(tuple), } import f-s32: func(x: v-s32); variant v-f32 { a(list), b(tuple), } import f-f32: func(x: v-f32); variant v-f64 { a(list), b(tuple), } import f-f64: func(x: v-f64); variant v-u64 { a(list), b(tuple), } import f-u64: func(x: v-u64); variant v-s64 { a(list), b(tuple), } import f-s64: func(x: v-s64); variant v-bool { a(list), b(tuple), } import f-bool: func(x: v-bool); variant v-char { a(list), b(tuple), } import f-char: func(x: v-char); variant v-string { a(list), b(tuple), } import f-string: func(x: v-string); variant v-tuple-with-list { a(list), b(tuple>), } import f-tuple-with-list: func(x: v-tuple-with-list); variant v-multiple { a(list), c(tuple), d(tuple), e(tuple), f(tuple), g(tuple), h(tuple), i(tuple), j(tuple), k(tuple>), } import f-multiple: func(x: v-multiple); variant v-f32-f64 { a(f32), b(f64), } import f-f32-f64: func(x: v-f32-f64); variant v-s32-f64 { a(s32), b(f64), } import f-s32-f64: func(x: v-s32-f64); variant v-s64-f32 { a(s64), b(f32), } import f-s64-f32: func(x: v-s64-f32); variant v-string-u64 { a(string), b(u64), } export f-string-u64: func(x: v-string-u64); }