@stage(compute) @workgroup_size(1, 1, 1)
fn main() {
  var v2f : vec2<f32>;
  var v2f_2 : vec2<f32>;

  var v3i : vec3<i32>;
  var v3i_2 : vec3<i32>;

  var v4u : vec4<u32>;
  var v4u_2 : vec4<u32>;

  var v2b : vec2<bool>;
  var v2b_2 : vec2<bool>;

  for (var i : i32 = 0; i < 2; i = i + 1) {
    v2f[i] = 1.0;
    v3i[i] = 1;
    v4u[i] = 1u;
    v2b[i] = true;

    v2f_2[i] = 1.0;
    v3i_2[i] = 1;
    v4u_2[i] = 1u;
    v2b_2[i] = true;
  }
}
