v2 / vlib / v / tests / generics / generics_array_init_test.v
44 lines · 35 sloc · 1006 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn get_arr_v1[N, T](num N, val T) []T {
2 return []T{len: num, init: val}
3}
4
5fn get_arr_v2[N, T](num N, val T) []T {
6 return []T{len: int(num), init: val}
7}
8
9fn get_arr_v3[N, T](num N, val T) []T {
10 tmp := num
11 return []T{len: tmp, init: val}
12}
13
14fn get_arr_v4[N, T](num N, val T) []T {
15 tmp := num + 0
16 return []T{len: tmp, init: val}
17}
18
19fn get_arr_v5[N, T](num N, val T) []T {
20 tmp := 0 + num
21 return []T{len: tmp, init: val}
22}
23
24fn test_generic_array_init() {
25 println(get_arr_v1(2, 'hallo v1'))
26 a1 := get_arr_v1(2, 'hallo v1')
27 assert a1 == ['hallo v1', 'hallo v1']
28
29 println(get_arr_v2(2, 'hallo v2'))
30 a2 := get_arr_v2(2, 'hallo v2')
31 assert a2 == ['hallo v2', 'hallo v2']
32
33 println(get_arr_v3(2, 'hallo v3'))
34 a3 := get_arr_v3(2, 'hallo v3')
35 assert a3 == ['hallo v3', 'hallo v3']
36
37 println(get_arr_v4(2, 'hallo v4'))
38 a4 := get_arr_v4(2, 'hallo v4')
39 assert a4 == ['hallo v4', 'hallo v4']
40
41 println(get_arr_v5(2, 'hallo v5'))
42 a5 := get_arr_v5(2, 'hallo v5')
43 assert a5 == ['hallo v5', 'hallo v5']
44}
45