Zig 提示:`errdefer comptime unreachable;` 将确保从那时起在编译时没有任何事情可以失败。这是一个极其重要的模式,因为 `errdefer`(错误时清理)通常依赖于世界的特定状态,而这会进行断言。 示例用例:我正在开发一个功能,它接收一些数据,设置一堆缓冲区,然后交换这些缓冲区。我在新构建的缓冲区上撒了一堆 `errdefer` 来进行清理。 但是在我交换缓冲区之后,这些 `errdefer` 现在是错误的。它们会导致最终的双重释放。 所以,就在我交换缓冲区的时候,我放了一个 `errdefer comptime unreachable` 和一个注释,解释为什么在那之后重要的错误不能发生。 如果我在那之后需要错误,它将迫使我重新考虑如何进行错误清理。非常好!