aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/reference_to_const_data.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-07-01 15:52:54 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-07-01 15:52:54 -0700
commitc89dd15e1be4959800dc7092d7dd4375253db7bc (patch)
treeca184ae53592efa21e67128a5f891d642d7f1118 /test/cases/compile_errors/reference_to_const_data.zig
parent5466e87fce581f2ef90ac23bb80b1dbc05836fc6 (diff)
parent2360f8c490f3ec684ed64ff28e8c1fade249070b (diff)
downloadzig-c89dd15e1be4959800dc7092d7dd4375253db7bc.tar.gz
zig-c89dd15e1be4959800dc7092d7dd4375253db7bc.zip
Merge remote-tracking branch 'origin/master' into llvm14
Diffstat (limited to 'test/cases/compile_errors/reference_to_const_data.zig')
-rw-r--r--test/cases/compile_errors/reference_to_const_data.zig29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/cases/compile_errors/reference_to_const_data.zig b/test/cases/compile_errors/reference_to_const_data.zig
new file mode 100644
index 0000000000..6bd9d0eb1e
--- /dev/null
+++ b/test/cases/compile_errors/reference_to_const_data.zig
@@ -0,0 +1,29 @@
+export fn foo() void {
+ var ptr = &[_]u8{0,0,0,0};
+ ptr[1] = 2;
+}
+export fn bar() void {
+ var ptr = &@as(u32, 2);
+ ptr.* = 2;
+}
+export fn baz() void {
+ var ptr = &true;
+ ptr.* = false;
+}
+export fn qux() void {
+ const S = struct{
+ x: usize,
+ y: usize,
+ };
+ var ptr = &S{.x=1,.y=2};
+ ptr.x = 2;
+}
+
+// error
+// backend=stage2
+// target=native
+//
+// :3:14: error: cannot assign to constant
+// :7:13: error: cannot assign to constant
+// :11:13: error: cannot assign to constant
+// :19:13: error: cannot assign to constant