What does memory-safe *actually* mean

122 points forrestthewoods

Here's an honest question: what does Rust mean when it claims to be a memory-safe language?

I'm not asking this as a total noob. I've read the Rust book, written lots of Rust code, and have had a few popular blog posts about Rust.

Everyone talks about Rust being a memory-safe language. But to be honest I'm not entirely sure how to quantify it. What does it mean concretely and what classes of bugs does it prevent?

If the Rust language website or Rust book define the term anywhere it's not in an obvious location.

I feel like over the past year the term "memory-safe language" has been thrown around a LOT... but I suspect different people have different definitions. If a C++ programmer asks me what that means I could provide an answer, but the lack of an easy-to-find formal definition surprised me!