diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2023-08-21 02:07:40 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-08-21 11:31:22 -0700 |
| commit | 6a5463951f0aa11cbdd5575cc78e85cd2ed10b46 (patch) | |
| tree | 9cff18509ff5a08748755d5dd57cc015a1a304a1 /test/cases/compile_errors | |
| parent | 82c8e45a7e7659146b2ecda2929f01027b0658e4 (diff) | |
| download | zig-6a5463951f0aa11cbdd5575cc78e85cd2ed10b46.tar.gz zig-6a5463951f0aa11cbdd5575cc78e85cd2ed10b46.zip | |
Sema: disallow C pointer to slice coercion
Resolves: #16719
Diffstat (limited to 'test/cases/compile_errors')
| -rw-r--r-- | test/cases/compile_errors/ptr_coerced_to_slice.zig | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/cases/compile_errors/ptr_coerced_to_slice.zig b/test/cases/compile_errors/ptr_coerced_to_slice.zig new file mode 100644 index 0000000000..2b96f83064 --- /dev/null +++ b/test/cases/compile_errors/ptr_coerced_to_slice.zig @@ -0,0 +1,20 @@ +export fn foo() void { + const ptr: [*]const u8 = "abc"; + _ = @as([]const u8, ptr); +} +export fn bar() void { + const ptr: [*c]const u8 = "def"; + _ = @as([]const u8, ptr); +} +export fn baz() void { + const ptr: *const u8 = &@as(u8, 123); + _ = @as([]const u8, ptr); +} + +// error +// backend=stage2 +// target=native +// +// :3:25: error: expected type '[]const u8', found '[*]const u8' +// :7:25: error: expected type '[]const u8', found '[*c]const u8' +// :11:25: error: expected type '[]const u8', found '*const u8' |
