Abstract
DESCRIPTION:
I spoke at an online Rust conference last year where the keynote speaker explained the ownership and borrowing model of Rust, and ended with the words: "You can disable the borrow checker by using unsafe". I paused for a second and thought: Wait, that's wrong. That's not what unsafe does. Stunned by the misconception in the heads of even highly regarded speakers, I set out to learn everything that there is to understand regarding unsafe Rust. This talk is a summary of my learnings, with an answer to the question: Do we even need to care? Do we need to be aware of unsafe in our own software? The TL;DR: Yes. I will show a few examples where unsafe has bitten us, but also how unsafe helped us get rid of those problems easily. In the words of Florian Gilcher: Unsafe is a safety feature.