v2 / vlib / v / tests / resolve_generic_2_test.v
20 lines · 18 sloc · 384 bytes · 184a86343e4c3c7a0cb04ef7bf20a297242668e4
Raw
1fn test_unwrap_generic_params() {
2 assert encode(true) == []
3 assert encode([true]) == ['[]bool']
4 assert encode(1) == []
5 assert encode([1]) == ['[]int']
6 assert encode('1') == []
7 assert encode(['1']) == ['[]string']
8}
9
10fn encode[U](val U) []string {
11 mut c := []string{}
12 $if U is $array {
13 c << g_array(val)
14 }
15 return c
16}
17
18fn g_array[T](t []T) string {
19 return typeof(t).name
20}
21