struct S {
};

var<private> bool_var : bool = bool();

var<private> i32_var : i32 = i32();

var<private> u32_var : u32 = u32();

var<private> f32_var : f32 = f32();

var<private> v2i32_var : vec2<i32> = vec2<i32>();

var<private> v3u32_var : vec3<u32> = vec3<u32>();

var<private> v4f32_var : vec4<f32> = vec4<f32>();

var<private> m2x3_var : mat2x3<f32> = mat2x3<f32>();

var<private> arr_var : array<f32, 4> = array<f32, 4>();

var<private> struct_var : S = S();

[[stage(compute)]]
fn main() {
  bool_var = bool();
  i32_var = i32();
  u32_var = u32();
  f32_var = f32();
  v2i32_var = vec2<i32>();
  v3u32_var = vec3<u32>();
  v4f32_var = vec4<f32>();
  m2x3_var = mat2x3<f32>();
  arr_var = array<f32, 4>();
  struct_var = S();
}
