James Price | 555c256 | 2022-03-31 22:30:10 +0000 | [diff] [blame] | 1 | struct S { |
2 | a : array<vec4<i32>, 4>, | ||||
3 | } | ||||
4 | |||||
5 | var<private> counter : i32; | ||||
6 | fn foo() -> i32 { | ||||
7 | counter += 1; | ||||
8 | return counter; | ||||
9 | } | ||||
10 | fn bar() -> i32 { | ||||
11 | counter += 2; | ||||
12 | return counter; | ||||
13 | } | ||||
14 | |||||
15 | fn main() { | ||||
16 | var x = S(); | ||||
17 | let p = &x; | ||||
18 | // foo() and bar() should only be called once each. | ||||
19 | (*p).a[foo()][bar()] += 5; | ||||
20 | } |