Language vision regarding safety guarantees
Rust Internals [Unofficial]
July 3, 2026
ia0:
The question is about deciding the safety contract, not about whether to trust it or not.
There is no separate "safety contract", and there is no need for one.
If I write a sort function, what I'm trying to do and what I promise to the users is that the output numbers are the input numbers sorted. There is only one contract here.
Users may trust that promise at different levels:
| Trust level | Use the crate | Apply the contractual promise for Safety rationale in unsafe blocks |
|---|---|---|
| Low | No | No |
| High | Yes | No |
| Very high | Yes | Yes |
Discussion in the ATmosphere