<story><title>Rust 1.34.0</title><url>https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html</url></story><parent_chain><item><author>korethr</author><text>Hmm, fn before_exec strikes me as a thing that should be gotten rid of entirely in favor of unsafe fn before_exec if the former indeed turned out to actually have the potential to cause undefined behavior. But that&amp;#x27;d probably be a breaking change which would require a major version number bump, so deprecation is absolutely the right thing IMO. And it also sets the stage to get rid of it outright come the next major version bump.&lt;p&gt;This is the first such instance of &amp;quot;oops, turns out that wasn&amp;#x27;t safe after all, that should have been unsafe&amp;quot; that I&amp;#x27;ve heard of in Rust. Is that because this is the first such mistake since the 1.0 milestone (the rest of `unsafe` having been nailed down before 1.0), or have there been other such mistakes that I didn&amp;#x27;t hear about because I haven&amp;#x27;t read the notes for all of the prior releases of Rust?</text></item></parent_chain><comment><author>steveklabnik</author><text>We can’t get rid of it because we have a commitment to not breaking users’ code. There will not be a Rust 2.0.&lt;p&gt;There have been some small soundness holes in the typesystem that we have fixed, resulting in breakage, but since that’s in the language, that’s the only way. A library API is different. There haven’t been many of these though. We did have some point releases which immediately fixed some library errors that were introduced by a release, see 1.15.1. But that was in a new API, and so the chance of breakage was extremely low. This API has been around for years. It is also not used much, given it’s a *NIX specific extension you have to explicitly import.&lt;p&gt;Note that upon using it, you’ll get a warning, so everyone will at least be notified.</text></comment>
<story><title>Rust 1.34.0</title><url>https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html</url></story><parent_chain><item><author>korethr</author><text>Hmm, fn before_exec strikes me as a thing that should be gotten rid of entirely in favor of unsafe fn before_exec if the former indeed turned out to actually have the potential to cause undefined behavior. But that&amp;#x27;d probably be a breaking change which would require a major version number bump, so deprecation is absolutely the right thing IMO. And it also sets the stage to get rid of it outright come the next major version bump.&lt;p&gt;This is the first such instance of &amp;quot;oops, turns out that wasn&amp;#x27;t safe after all, that should have been unsafe&amp;quot; that I&amp;#x27;ve heard of in Rust. Is that because this is the first such mistake since the 1.0 milestone (the rest of `unsafe` having been nailed down before 1.0), or have there been other such mistakes that I didn&amp;#x27;t hear about because I haven&amp;#x27;t read the notes for all of the prior releases of Rust?</text></item></parent_chain><comment><author>sanxiyn</author><text>There has been other instances. One is as_mut_slice, which resulted in 1.15.1 patch release. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;blog.rust-lang.org&amp;#x2F;2017&amp;#x2F;02&amp;#x2F;09&amp;#x2F;Rust-1.15.1.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;blog.rust-lang.org&amp;#x2F;2017&amp;#x2F;02&amp;#x2F;09&amp;#x2F;Rust-1.15.1.html&lt;/a&gt; Another is borrow checker bug, which resulted in 1.26.2 patch release. &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;blog.rust-lang.org&amp;#x2F;2018&amp;#x2F;06&amp;#x2F;05&amp;#x2F;Rust-1.26.2.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;blog.rust-lang.org&amp;#x2F;2018&amp;#x2F;06&amp;#x2F;05&amp;#x2F;Rust-1.26.2.html&lt;/a&gt;</text></comment>