Skip to content
Latchkey

Exhaustiveness Checking とは?

exhaustiveness checking は、一連のパターンが照合対象の型の取りうるすべての値をカバーしていることを保証する静的解析で、ケースが漏れているとエラーを報告します。sum type については、すべての variant が処理されていることを確認します。これにより、コードが実行される前に忘れられたケースを検出します。

なぜ重要か

網羅性チェックは「あのケースを処理し忘れた」を、実行時の不意打ちではなくコンパイルエラーに変えます。新しい variant が追加されたときに特に有用で、不完全な match はすべてコンパイルに失敗するようになります。

関連ガイド