Closes #1957 Closes #1994 Closes #2140 Closes #2746 Closes #2802 Closes #2855 Closes #2895 Closes #2981 Closes #3054 Closes #3158 Closes #3234 Closes #3259 Closes #3371 Closes #3376 Closes #3387 Closes #3529 Closes #3653 Closes #3750 Closes #3778 Closes #3882 Closes #3915 Closes #3929 Closes #3961 Closes #3988 Closes #4123 Closes #7448
35 lines
670 B
Zig
35 lines
670 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
|