v2 / vlib / v / tests / generics / generic_fn_infer_fixed_array_test.v
30 lines · 25 sloc · 506 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn get_element[T](arr [3]T) string {
2 return '${arr[1]}'
3}
4
5fn test_generic_fn_infer_fixed_array() {
6 a := [1, 2, 3]!
7 mut ret := get_element(a)
8 println(ret)
9 assert ret == '2'
10
11 b := ['a', 'b', 'c']!
12 ret = get_element(b)
13 println(ret)
14 assert ret == 'b'
15
16 c := [1.1, 2.2, 3.3]!
17 ret = get_element(c)
18 println(ret)
19 assert ret == '2.2'
20
21 d := [`a`, `b`, `c`]!
22 ret = get_element(d)
23 println(ret)
24 assert ret == 'b'
25
26 e := [true, false, true]!
27 ret = get_element(e)
28 println(ret)
29 assert ret == 'false'
30}
31