Skip to content

1.45.2 post #661

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 3, 2020
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions posts/2020-07-31-Rust-1.45.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
layout: post
title: "Announcing Rust 1.45.2"
author: The Rust Release Team
release: true
---

The Rust team is happy to announce a new version of Rust, 1.45.2. Rust is a

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how I feel about the wording of "happy to announce". In a way, the release is a result of previous mistakes, so perhaps it's not something we should be celebrating?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is fine - we are in some sense happy to fix the bug at least. If you have alternative suggestions though I'd be happy to consider them.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Rust team announces...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Rust team announces...

I was also considering this general direction, though I had the impression that the correct tense would be "The Rust team is announcing". I'm not a native speaker, though 🙃

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pushed an update.

programming language that is empowering everyone to build reliable and
efficient software.

If you have a previous version of Rust installed via rustup, getting Rust
1.45.2 is as easy as:

```console
rustup update stable
```

If you don't have it already, you can [get `rustup`][install] from the
appropriate page on our website, and check out the [detailed release notes for
1.45.2][notes] on GitHub.

[install]: https://www.rust-lang.org/install.html
[notes]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1452-2020-07-31

## What's in 1.45.2 stable

1.45.2 contains two fixes, one to 1.45.1 and the other to 1.45.0.

## `#[track_caller]` on trait objects

Trait objects and `#[track_caller]` could lead to unsoundness. `#[track_caller]`
is not yet stable on 1.45. However, the standard library makes use of this on
some traits for better error messages. Trait objects of `SliceIndex`, `Index`,
and `IndexMut` are affected by this bug.

## Bindings in tuple-patterns
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The bug actually manifested in a slice pattern.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, the backported fix was for tuple patterns, and the regression was in a slice pattern. So we're going back to the status quo from 1.45.0, and I guess that ICE will re-emerge for tuples.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, I think the bug is something like "slice patterns in tuple patterns" or something like that. I'm not sure how to pinpoint it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, because Option::Some(_) is a tuple variant? OK, that makes sense, and I just checked that there's no issue for slice patterns alone.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe "Nested bindings in tuple patterns"?

Copy link
Member Author

@Mark-Simulacrum Mark-Simulacrum Jul 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The condition leads me to believe it needs to be a tuple struct (or tuple enum variant, I guess) specifically with a .. pattern bound to a variable in it. Saying all of that in the heading seems too verbose, though. Perhaps "Tuple patterns containing bindings to .."? That also feels rather long.


In 1.45.1, we backported a fix for [#74539], but this fix turned out to be
incorrect, causing other unrelated breakage. As such, this release reverts that
fix.

## Contributors to 1.45.2

Many people came together to create Rust 1.45.2. We couldn't have done it
without all of you. [Thanks!](https://thanks.rust-lang.org/rust/1.45.2/)

[#74539]: https://github.com/rust-lang/rust/issues/74539