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>());
}
