第107章へようこそ。
今日のテーマは「借用チェッカーの目」です。
第13章でライフタイムの基本を学びました。
参照は、参照先のデータより先に消えなければならない。
第14章で、関数のライフタイム注釈を学びました。
第15章で、省略規則を学びました。
今日は視点を変えます。
あなたが書いたコードを、コンパイラはどう見ているか。
借用チェッカーは、Rustコンパイラの中でも最も独特な部品です。
他の言語のコンパイラは、型が合っているかを見る。構文が正しいかを見る。
Rustのコンパイラは、それに加えて「この参照は今使って安全か」を見る。
コンパイルが通らないとき、借用チェッカーが何を見て拒否しているかを理解できれば、エラーメッセージの意味が変わります。
「なぜ怒られているか分からない」から「何を守ろうとしているか分かる」に変わる。
今日は、借用チェッカーの目を通して、Rustのコードを見る方法を学びます。