Skip to content

Commit 9f11010

Browse files
authored
Merge pull request #822 from Mark-Simulacrum/1.52-post
Add initial 1.52.0 post
2 parents edfd8ef + d45f2af commit 9f11010

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

posts/2021-05-06-Rust-1.52.0.md

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
layout: post
3+
title: "Announcing Rust 1.52.0"
4+
author: The Rust Release Team
5+
release: true
6+
---
7+
8+
The Rust team is happy to announce a new version of Rust, 1.52.0. Rust is a
9+
programming language that is empowering everyone to build reliable and
10+
efficient software.
11+
12+
If you have a previous version of Rust installed via rustup, getting Rust
13+
1.52.0 is as easy as:
14+
15+
```console
16+
rustup update stable
17+
```
18+
19+
If you don't have it already, you can [get `rustup`][install]
20+
from the appropriate page on our website, and check out the
21+
[detailed release notes for 1.52.0][notes] on GitHub.
22+
23+
[install]: https://www.rust-lang.org/install.html
24+
[notes]: https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1510-2021-03-25
25+
26+
## What's in 1.52.0 stable
27+
28+
The most significant change in this release is not to the language or standard
29+
libraries, but rather an enhancement to tooling support for Clippy.
30+
31+
Previously, running `cargo check` followed by `cargo clippy` wouldn't actually
32+
run Clippy: the build caching in Cargo didn't differentiate between the two. In
33+
1.52, however, this has been fixed, which means that users will get the expected
34+
behavior independent of the order in which they run the two commands.
35+
36+
### Stabilized APIs
37+
38+
The following methods were stabilized.
39+
40+
- [`Arguments::as_str`]
41+
- [`Peekable::next_if_eq`]
42+
- [`Peekable::next_if`]
43+
- [`char::MAX`]
44+
- [`char::REPLACEMENT_CHARACTER`]
45+
- [`char::UNICODE_VERSION`]
46+
- [`char::decode_utf16`]
47+
- [`char::from_digit`]
48+
- [`char::from_u32_unchecked`]
49+
- [`char::from_u32`]
50+
- [`slice::partition_point`]
51+
- [`str::rsplit_once`]
52+
- [`str::split_once`]
53+
54+
The following previously stable APIs are now `const`.
55+
56+
- [`char::len_utf8`]
57+
- [`char::len_utf16`]
58+
- [`char::to_ascii_uppercase`]
59+
- [`char::to_ascii_lowercase`]
60+
- [`char::eq_ignore_ascii_case`]
61+
- [`u8::to_ascii_uppercase`]
62+
- [`u8::to_ascii_lowercase`]
63+
- [`u8::eq_ignore_ascii_case`]
64+
65+
[`char::MAX`]: https://doc.rust-lang.org/std/primitive.char.html#associatedconstant.MAX
66+
[`char::REPLACEMENT_CHARACTER`]: https://doc.rust-lang.org/std/primitive.char.html#associatedconstant.REPLACEMENT_CHARACTER
67+
[`char::UNICODE_VERSION`]: https://doc.rust-lang.org/std/primitive.char.html#associatedconstant.UNICODE_VERSION
68+
[`char::decode_utf16`]: https://doc.rust-lang.org/std/primitive.char.html#method.decode_utf16
69+
[`char::from_u32`]: https://doc.rust-lang.org/std/primitive.char.html#method.from_u32
70+
[`char::from_u32_unchecked`]: https://doc.rust-lang.org/std/primitive.char.html#method.from_u32_unchecked
71+
[`char::from_digit`]: https://doc.rust-lang.org/std/primitive.char.html#method.from_digit
72+
[`Peekable::next_if`]: https://doc.rust-lang.org/stable/std/iter/struct.Peekable.html#method.next_if
73+
[`Peekable::next_if_eq`]: https://doc.rust-lang.org/stable/std/iter/struct.Peekable.html#method.next_if_eq
74+
[`Arguments::as_str`]: https://doc.rust-lang.org/stable/std/fmt/struct.Arguments.html#method.as_str
75+
[`str::split_once`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_once
76+
[`str::rsplit_once`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.rsplit_once
77+
[`slice::partition_point`]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.partition_point
78+
[`char::len_utf8`]: https://doc.rust-lang.org/stable/std/primitive.char.html#method.len_utf8
79+
[`char::len_utf16`]: https://doc.rust-lang.org/stable/std/primitive.char.html#method.len_utf16
80+
[`char::to_ascii_uppercase`]: https://doc.rust-lang.org/stable/std/primitive.char.html#method.to_ascii_uppercase
81+
[`char::to_ascii_lowercase`]: https://doc.rust-lang.org/stable/std/primitive.char.html#method.to_ascii_lowercase
82+
[`char::eq_ignore_ascii_case`]: https://doc.rust-lang.org/stable/std/primitive.char.html#method.eq_ignore_ascii_case
83+
[`u8::to_ascii_uppercase`]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.to_ascii_uppercase
84+
[`u8::to_ascii_lowercase`]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.to_ascii_lowercase
85+
[`u8::eq_ignore_ascii_case`]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.eq_ignore_ascii_case
86+
87+
### Other changes
88+
89+
There are other changes in the Rust 1.52.0 release: check out what changed in [Rust](https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1520-2021-05-06), [Cargo](https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-152-2021-05-06), and [Clippy](https://github.com/rust-lang/rust-clippy/blob/master/CHANGELOG.md#rust-152).
90+
91+
### Contributors to 1.52.0
92+
93+
Many people came together to create Rust 1.52.0. We couldn't have done it without all of you. [Thanks!](https://thanks.rust-lang.org/rust/1.52.0/)

0 commit comments

Comments
 (0)