struct S { | |
a : array<vec4<i32>, 4>, | |
} | |
var<private> counter : i32; | |
fn foo() -> i32 { | |
counter += 1; | |
return counter; | |
} | |
fn bar() -> i32 { | |
counter += 2; | |
return counter; | |
} | |
fn main() { | |
var x = S(); | |
let p = &x; | |
// foo() and bar() should only be called once each. | |
(*p).a[foo()][bar()] += 5; | |
} |