The idea with unsafe{} is that, while you might temporarily break an invariant (which Rust assumes for its memory-safety) while inside the unsafe{} block, you will <i>restore</i> that invariant before the end of the block.<p>In other words, when you use unsafe{} code idiomatically, there shouldn&#x27;t <i>be</i> anything like uninitialized-yet-accessible memory buffers &quot;leaked out of&quot; the unsafe{} code into safe code, even within the same module. The safe code should only see things it&#x27;s possible to get from talking to safe code.<p>The problem, of course, is that there&#x27;s no way to enforce only this idiomatic (and rather strict) usage of unsafe{}.<p>Well, that, and there <i>may</i> be some data structures that are fully impossible to implement with their promised complexity guarantees if you have to restore memory-safety invariants after every atomic step. This is justification enough for leaving unsafe{} the way it is, from my perspective; this is the same &quot;leave it to the professionals&quot; kind of code you tend to see in every standard library&#x27;s data structure implementations, and not at all similar to the kind of code you&#x27;ll ever need to write yourself (in 99% of cases.)<p>I guess there&#x27;s a lesson there, though: no, Rust will <i>not</i> magically protect you any more than C will when you wade into the &quot;thorns&quot; of domains like scientific computing or GIS. If you&#x27;re implementing data structures that &quot;must&quot; reveal dirty or indeterminate state to the world to achieve full efficiency, there&#x27;s not much you can do to be &quot;fully&quot; memory-safe. You can be safe at the higher level of your module boundary, but there&#x27;s really no way to achieve the same elegant lexical bound on your invariants that you can with idiomatic unsafe{} code. When you leak things out of an unsafe{} block, you&#x27;re taking the type system into your own hands, and it&#x27;s up to you to re-establish the invariant at all <i>dynamic</i> module entry- and exit-points.