Never是一个空枚举,即没有有效的case。所以它是一种uninhabited type,即明显没有值的类型。Swift中,以下两种情况可以看成是uninhabited type

  1. 一个枚举类型,如果没有case,或者所有case已知,且所有的case都有关联值,而所有的关联值类型都为空;
  2. 元组、结构体或者类,如果有任意的uninhabited type类型的存储属性;

If an expression of uninhabited type is evaluated, it is considered unreachable by control flow diagnostics.

另外,函数和元类型不能是uninhabited type

参考

  1. Remove @noreturn attribute and introduce an empty Never type