Announcing Rust 1.12
MIR is here! End-users probably aren't going to be too excited about this just yet, since MIR's focus in 1.12 is in ensuring there are no correctness regressions (always a risk when you rewrite an enormous portion of your middle-end) or noticeable runtime perf or compile-time perf regressions. I do recall pcwalton remarking that MIR improved Servo's compile times by about 20%, though this is probably not what one would expect across the board. In any case, the upcoming 1.13 release is where the rubber is really going to start meeting the road: middle-end optimizations that operate on the MIR (i.e. https://github.com/rust-lang/rust/pull/36388 ); outright removing old trans (which remains in 1.12 via a compiler flag) which allows us to actually start taking advantage of non-zeroing drop (a long-held dream!); an initial spike for incremental recompilation; plus big miscellaneous performance improvements such as https://github.com/rust-lang/rust/pull/36524 . As ever, no matter how exciting Rust's present is, it somehow seems that its future is even more so. :P(Which isn't to overshadow Jonathan Turner's heroic compiler error message overhaul that has been long in the works, or the dozens and dozens of new volunteers who answered the call to help us transition: https://github.com/rust-lang/rust/issues/35233 . But I've had the new error messages enabled for months now, and it's easy to forget that not everyone has been enjoying them this whole time!)