aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/reference_to_const_data.zig
blob: b7f2e93fbdaef835cae0ad24042df37f93387cfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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: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