@@ -29,17 +29,19 @@ improvement.
2929What is perhaps less well understood is that the new borrow checker
3030implementation * also* fixed a lot of bugs. In other words, the new
3131borrow checker did not just accept more programs -- ** it also rejected
32- some programs that never should have been accepted in the first
33- place !**
32+ some programs that were only accepted in the first place due to memory
33+ unsafety bugs in the old borrow checker !**
3434
3535[ 2018 ] : https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html
3636[ nll ] : https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html#non-lexical-lifetimes
3737[ MIR ] : https://blog.rust-lang.org/2016/04/19/MIR.html
3838
3939### Until recently, those fixed bugs produced warnings, not errors
4040
41- As part of our commitment to stability, whenever we find bugs that
42- impact existing code in a major way, we try to "phase in" those
41+ Obviously, we don't want to accept programs that could undermine
42+ Rust's safety guarantees. At the same time, as part of our commitment
43+ to stability, we try to avoid making sudden bug fixes that will affect
44+ a lot of code. Whenever possible, we prefer to "phase in" those
4345changes gradually. We usually begin with "Future Compatibility
4446Warnings", for example, before moving those warnings to hard errors
4547(sometimes a small bit at a time). Since the bug fixes to the borrow
0 commit comments