| 1 | fn g[T](arr []T) { |
| 2 | mut r := []T{} |
| 3 | r << arr |
| 4 | assert arr.len > 0 |
| 5 | } |
| 6 | |
| 7 | fn 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 | |
| 14 | fn 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 |