Borrow checker
Het onderdeel van de Rust-compiler dat de regels voor ownership en lifetimes controleert. Garandeert geheugen- en threadveiligheid zonder garbage collector. ‘Vechten tegen de borrow checker’ is een klassieke beginnersfase.
Regels: één muteerbare referentie OF meerdere onveranderlijke, nooit allebei. Referenties mogen de data waarnaar ze wijzen niet overleven. NLL (Non-Lexical Lifetimes, 2018) maakte de checker slimmer: een referentie geldt tot het laatste gebruik, niet tot het einde van het blok. Polonius (in ontwikkeling) moet nog meer correcte programma's accepteren. De klassieke frustratie: code die ‘overduidelijk’ veilig is, wordt toch afgekeurd. Met ervaring ga je datastructuren checkervriendelijk ontwerpen (meer Vec, minder gelinkte lijsten).