Zig 提示:`errdefer comptime unreachable;` 將確保從那一點開始,編譯時不會發生任何錯誤。這是一個極其重要的模式,因為 `errdefer`(錯誤清理)通常依賴於世界的特定狀態,而這個聲明則確保了這一點。 使用案例示例:我正在開發一個功能,接收一些數據,設置一堆緩衝區,然後交換這些緩衝區。我在新建的緩衝區上撒了一堆 `errdefer` 來進行清理。 但是在我交換緩衝區之後,那些 `errdefer` 現在是錯誤的。它們會導致最終的雙重釋放。 所以,當我交換緩衝區時,我放了一個 `errdefer comptime unreachable` 和一個註釋,解釋為什麼在那之後不能發生錯誤是重要的。 如果我在那之後需要錯誤,這將迫使我重新考慮如何進行錯誤清理。非常好!