Announcing Rust 1.52.1

The Rust team has prepared a new release, 1.52.1, working around a bug in incremental compilation which was made into a compiler error in 1.52.0. We recommend all Rust users, including those currently using stable versions prior to 1.52.0, upgrade to 1.52.1 or disable incremental compilation.

Read more details on the blog: Announcing Rust 1.52.1 | Rust Blog.

9 Likes

Thanks for the heads-up. Could you please clarify if it's OK not to upgrade if I have not seen the compile error yet? I'm using Rust 1.51. I want to keep using it if its OK.

The verification errors are only emitted on 1.52 and later versions, so not seeing it on a prior version is not an indication of it not occurring. My current understanding is that most people are indeed hitting the verification error on a regular basis in their compiles; just that most of those do not end up leading to actually detected miscompiles (for various reasons).

It's still confusing to me, sorry.

To an end user (like me), the blog post is basically saying: turn off the incremental compilation. But that will make the build slower (is there a stats for how much slowdown?).

I don't want to turn off the incremental compilation unless I have to. I wanted to understand what "miscompile" means in this context. Does the "miscompile" mean that the correctness may be broken even when there are no compile errors?

This is the explanation from the blog post:

Miscompilations that can arise from the bugs in incremental compilation generate incorrect code in final artifacts, essentially producing malformed binaries, which means that in theory any behavior is possible. In practice we are currently only aware of one particular known miscompilation, but bugs due to incremental are notoriously hard to track down: users frequently simply rebuild after some light editing if they see unexpected results from their binaries, and this often causes sufficient recompilation to fix the bug(s).

If there's some confusion about what this means, it'd be great to clarify - could you be more specific about what in that paragraph didn't make sense?

It's indeed true that check and debug builds that compiled cleanly may have miscompiled.

1 Like