diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-07-22 21:10:50 +0300 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-07-22 21:10:50 +0300 |
| commit | 423a19fa60d2b0a11fc2fb43b12001320c2c53c5 (patch) | |
| tree | 61c673ca1e0066e2a7cc718bec5d1361d022a2b7 /test/cases/compile_errors | |
| parent | 03b1fbe50d302cdb961661c10bb51699b4dcbaf2 (diff) | |
| download | zig-423a19fa60d2b0a11fc2fb43b12001320c2c53c5.tar.gz zig-423a19fa60d2b0a11fc2fb43b12001320c2c53c5.zip | |
Sema: add error for dereferencing invalid payload ptr at comptime
Diffstat (limited to 'test/cases/compile_errors')
| -rw-r--r-- | test/cases/compile_errors/dereferencing_invalid_payload_ptr_at_comptime.zig | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/cases/compile_errors/dereferencing_invalid_payload_ptr_at_comptime.zig b/test/cases/compile_errors/dereferencing_invalid_payload_ptr_at_comptime.zig new file mode 100644 index 0000000000..69457965bb --- /dev/null +++ b/test/cases/compile_errors/dereferencing_invalid_payload_ptr_at_comptime.zig @@ -0,0 +1,33 @@ +const std = @import("std"); + +comptime { + var val: u8 = 15; + var opt_ptr: ?*const u8 = &val; + + const payload_ptr = &opt_ptr.?; + opt_ptr = null; + _ = payload_ptr.*.*; +} +comptime { + var opt: ?u8 = 15; + + const payload_ptr = &opt.?; + opt = null; + _ = payload_ptr.*; +} +comptime { + var val: u8 = 15; + var err_union: anyerror!u8 = val; + + const payload_ptr = &(err_union catch unreachable); + err_union = error.Foo; + _ = payload_ptr.*; +} + +// error +// backend=stage2 +// target=native +// +// :9:20: error: attempt to use null value +// :16:20: error: attempt to use null value +// :24:20: error: attempt to unwrap error: Foo |
