struct Inner {
    x : i32,
};

struct S {
    a : vec3<i32>,
    b : i32,
    c : vec3<u32>,
    d : u32,
    e : vec3<f32>,
    f : f32,
    g : mat2x3<f32>,
    h : mat3x2<f32>,
    i : Inner,
    j : array<Inner, 4>,
};

@binding(0) @group(0) var<storage, read_write> s : S;

@compute @workgroup_size(1)
fn main() {
    s.a = vec3<i32>();
    s.b = i32();
    s.c = vec3<u32>();
    s.d = u32();
    s.e = vec3<f32>();
    s.f = f32();
    s.g = mat2x3<f32>();
    s.h = mat3x2<f32>();
    s.i = Inner();
    s.j = array<Inner, 4>();
}