SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

vertex float4 tint_symbol(int loc0, uint loc1, float loc2, float4 loc3, half loc4, half3 loc5) {
  int const i = loc0;
  uint const u = loc1;
  float const f = loc2;
  float4 const v = loc3;
  half const x = loc4;
  half3 const y = loc5;
  return float4(0.0f);
}
program_source:4:27: error: invalid type 'int' for input declaration in a vertex function
vertex float4 tint_symbol(int loc0, uint loc1, float loc2, float4 loc3, half loc4, half3 loc5) {
                          ^~~~~~~~
program_source:4:37: error: invalid type 'uint' (aka 'unsigned int') for input declaration in a vertex function
vertex float4 tint_symbol(int loc0, uint loc1, float loc2, float4 loc3, half loc4, half3 loc5) {
                                    ^~~~~~~~~
program_source:4:48: error: invalid type 'float' for input declaration in a vertex function
vertex float4 tint_symbol(int loc0, uint loc1, float loc2, float4 loc3, half loc4, half3 loc5) {
                                               ^~~~~~~~~~
program_source:4:60: error: invalid type 'float4' (vector of 4 'float' values) for input declaration in a vertex function
vertex float4 tint_symbol(int loc0, uint loc1, float loc2, float4 loc3, half loc4, half3 loc5) {
                                                           ^~~~~~~~~~~
program_source:4:73: error: invalid type 'half' for input declaration in a vertex function
vertex float4 tint_symbol(int loc0, uint loc1, float loc2, float4 loc3, half loc4, half3 loc5) {
                                                                        ^~~~~~~~~
program_source:4:84: error: invalid type 'half3' (vector of 3 'half' values) for input declaration in a vertex function
vertex float4 tint_symbol(int loc0, uint loc1, float loc2, float4 loc3, half loc4, half3 loc5) {
                                                                                   ^~~~~~~~~~

