SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

using namespace metal;
void textureNumLayers_053df7() {
  int res = int(arg_0.get_array_size());
}

vertex void vertex_main() {
  textureNumLayers_053df7();
  return;
}

fragment void fragment_main() {
  textureNumLayers_053df7();
  return;
}

kernel void compute_main() {
  textureNumLayers_053df7();
  return;
}


tint_eUidBR.metal:5:17: error: use of undeclared identifier 'arg_0'
  int res = int(arg_0.get_array_size());
                ^
1 error generated.
