v2 / vlib / v / tests / generics / generics_array_append_test.v
24 lines · 22 sloc · 346 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn g[T](arr []T) {
2 mut r := []T{}
3 r << arr
4 assert arr.len > 0
5}
6
7fn test_generic_array_append() {
8 g([1, 2, 3])
9 g([1.1, 2.2, 3.3])
10 g(['aa', 'bb', 'cc'])
11 gs[[]string]()!
12}
13
14fn gs[T]() !T {
15 mut typ := T{
16 cap: 10
17 }
18 if T.name == '[]string' {
19 typ << 'strings'
20 } else {
21 return error('only string arrays are supported')
22 }
23 return typ
24}
25