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), workgroup_size(1)]]
fn main() {
  // Reference the module-scope variables to stop them from being removed.
  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();
}
