struct strided_arr { @size(8) el : f32, } type Arr = array<strided_arr, 2u>; type Arr_1 = array<Arr, 3u>; struct strided_arr_1 { @size(128) el : Arr_1, } type Arr_2 = array<strided_arr_1, 4u>; struct S { /* @offset(0) */ a : Arr_2, } @group(0) @binding(0) var<storage, read_write> s : S; fn f_1() { let x_19 : Arr_2 = s.a; let x_24 : Arr_1 = s.a[3i].el; let x_28 : Arr = s.a[3i].el[2i]; let x_32 : f32 = s.a[3i].el[2i][1i].el; s.a = array<strided_arr_1, 4u>(); s.a[3i].el[2i][1i].el = 5.0f; return; } @compute @workgroup_size(1i, 1i, 1i) fn f() { f_1(); }