From a83fb9289fe82a0e4f5c228342e79d559af69bc3 Mon Sep 17 00:00:00 2001 From: Rohlem Date: Fri, 19 Nov 2021 12:08:28 +0100 Subject: [PATCH] std.bounded_array: fix `self` parameter type in `constSlice` Because `.buffer` is an inline array field, we actually require `self` to be passed as a pointer. If the compiler decided to pass the object by copying, we would return a pointer to to-be-destroyed stack memory. --- lib/std/bounded_array.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/bounded_array.zig b/lib/std/bounded_array.zig index 18328683ae..51a4488387 100644 --- a/lib/std/bounded_array.zig +++ b/lib/std/bounded_array.zig @@ -34,7 +34,7 @@ pub fn BoundedArray(comptime T: type, comptime capacity: usize) type { } /// View the internal array as a constant slice whose size was previously set. - pub fn constSlice(self: Self) []const T { + pub fn constSlice(self: *const Self) []const T { return self.buffer[0..self.len]; }