| 1 | import arrays |
| 2 | |
| 3 | struct Point { |
| 4 | pub mut: |
| 5 | x int |
| 6 | y int |
| 7 | } |
| 8 | |
| 9 | fn (p1 Point) + (p2 Point) Point { |
| 10 | return Point{ |
| 11 | x: p1.x + p2.x |
| 12 | y: p1.y + p2.y |
| 13 | } |
| 14 | } |
| 15 | |
| 16 | fn test_generic_arrays_sum() { |
| 17 | ret1 := arrays.sum[Point]([Point{ x: 1, y: 1 }, Point{ |
| 18 | x: 2 |
| 19 | y: 2 |
| 20 | }]) or { Point{} } |
| 21 | println(ret1) |
| 22 | assert ret1 == Point{3, 3} |
| 23 | |
| 24 | ret2 := arrays.sum[int]([1, 2, 3, 4]) or { 0 } |
| 25 | println(ret2) |
| 26 | assert ret2 == 10 |
| 27 | } |
| 28 |