diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 6d3506d3a3aec6965c7eec60903e702f8d56cc93..361ff8d9a20eb519ea52178c7f5639ed4e11464c 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -6806,4 +6806,27 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { , &[_][]const u8{ "tmp.zig:2:27: error: type 'u32' does not support array initialization", }); + + cases.add("issue #2687: coerce from undefined array pointer to slice", + \\export fn foo1() void { + \\ const a: *[1]u8 = undefined; + \\ var b: []u8 = a; + \\} + \\export fn foo2() void { + \\ comptime { + \\ var a: *[1]u8 = undefined; + \\ var b: []u8 = a; + \\ } + \\} + \\export fn foo3() void { + \\ comptime { + \\ const a: *[1]u8 = undefined; + \\ var b: []u8 = a; + \\ } + \\} + , &[_][]const u8{ + "tmp.zig:3:19: error: use of undefined value here causes undefined behavior", + "tmp.zig:8:23: error: use of undefined value here causes undefined behavior", + "tmp.zig:14:23: error: use of undefined value here causes undefined behavior", + }); }