struct VertexInputs0 {
  [[builtin(vertex_index)]]
  vertex_index : u32;
  [[location(0)]]
  loc0 : i32;
};

struct VertexInputs1 {
  [[location(2)]]
  loc2 : f32;
  [[location(3)]]
  loc3 : vec4<f32>;
};

[[stage(vertex)]]
fn main(inputs0 : VertexInputs0, [[location(1)]] loc1 : u32, [[builtin(instance_index)]] instance_index : u32, inputs1 : VertexInputs1) -> [[builtin(position)]] vec4<f32> {
  let foo : u32 = (inputs0.vertex_index + instance_index);
  let i : i32 = inputs0.loc0;
  let u : u32 = loc1;
  let f : f32 = inputs1.loc2;
  let v : vec4<f32> = inputs1.loc3;
  return vec4<f32>();
}
