struct S { a : i32, b : vec4, c : mat2x2, } @group(0) @binding(0) var v : S; var i : u32; fn idx1() -> i32 { i += 1u; return 1; } fn idx2() -> i32 { i += 2u; return 1; } fn idx3() -> i32 { i += 3u; return 1; } fn foo() { var a = array(); for(a[idx1()] *= 2.0; (a[idx2()] < 10.0); a[idx3()] += 1.0) { } }