layout(set=0, binding=0) in int x;
layout(set=0, binding=1) out float4 y;
layout(set=0, binding=2) in int[5] z;

void main() {
}

/*%%*
unsupported compute shader in / out type
compute shader in / out arrays must be unsized
*%%*/