From 0729305769365c9d29689a52ec37dbd3818a28a4 Mon Sep 17 00:00:00 2001 From: Nic Gaffney Date: Mon, 20 Oct 2025 02:13:49 -0500 Subject: Pointers now must be of size 'many' or 'slice' to be valid --- src/lib.zig | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/lib.zig') diff --git a/src/lib.zig b/src/lib.zig index 8e99ad3..c84829f 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -40,6 +40,10 @@ pub fn mapAlloc( if(itemsTypeInfo != .array and itemsTypeInfo != .pointer) { @compileError("Expected array or slice, found " ++ @typeName(itemsType)); } + switch (itemsTypeInfo) { + .pointer => |p| if(p.size != .many and p.size != .slice) @compileError("Expected pointer of size 'many' or 'slice', found " ++ @tagName(p)), + else =>{}, + } break :blk []funcTypeInfo.@"fn".return_type.?; } { @@ -68,6 +72,10 @@ pub fn map( @compileError("Expected array, found " ++ @typeName(itemsType)); if(bufferTypeInfo != .array and bufferTypeInfo != .pointer) @compileError("Expected array, found " ++ @typeName(bufferType)); + switch (itemsTypeInfo) { + .pointer => |p| if(p.size != .many and p.size != .slice) @compileError("Expected pointer of size 'many' or 'slice', found '" ++ @tagName(p.size) ++ "'"), + else =>{}, + } for (items, 0..) |item, i| buffer.*[i] = func(item); } -- cgit v1.2.3