diff --git a/vlib/arrays/arrays.v b/vlib/arrays/arrays.v index 3e058ff152abe0..a4da4dcbaab6c0 100644 --- a/vlib/arrays/arrays.v +++ b/vlib/arrays/arrays.v @@ -225,6 +225,9 @@ pub: // Example: arrays.window([1, 2, 3, 4], size: 2) // => [[1, 2], [2, 3], [3, 4]] // Example: arrays.window([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], size: 3, step: 2) // => [[1, 2, 3], [3, 4, 5], [5, 6, 7], [7, 8, 9]] pub fn window[T](array []T, attr WindowAttribute) [][]T { + if array.len == 0 { + return [][]T{} + } // allocate snapshot array mut windows := [][]T{cap: array.len - attr.size + 1}