struct VertexOutputs {
  [[location(0), interpolate(flat)]]
  loc0 : i32;
  [[location(1), interpolate(flat)]]
  loc1 : u32;
  [[location(2)]]
  loc2 : f32;
  [[location(3)]]
  loc3 : vec4<f32>;
  [[builtin(position)]]
  position : vec4<f32>;
}

[[stage(vertex)]]
fn main() -> VertexOutputs {
  return VertexOutputs(1, 1u, 1.0, vec4<f32>(1.0, 2.0, 3.0, 4.0), vec4<f32>());
}
