Files
zig/test/cases/compile_errors/reference_to_const_data.zig
2023-06-19 12:34:42 -07:00

35 lines
683 B
Zig

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;
}
export fn quux() void {
var x = &@returnAddress();
x.* = 6;
}
// error
// backend=stage2
// target=native
//
// :3:8: error: cannot assign to constant
// :7:8: error: cannot assign to constant
// :11:8: error: cannot assign to constant
// :19:8: error: cannot assign to constant
// :23:6: error: cannot assign to constant