When creating a pipeline builder, there is no checking to see if the stages of the pipeline are actually compatible. The error will only become apparent if the pipeline is used in a command dispatch and validation layers are enabled.
This is easy to do at build time as the PipelineBuilder template parameters VertexShader and FragmentShaders have kAllShaderStageInputs and kAllShaderStageOutputs constexpr members can be statically asserted to be equal.