@@ -77,17 +77,6 @@ able to mitigate with a `cargo update` if needed."
77
77
78
78
See < https://github.com/rust-lang/rust/pull/78802 > for more details.
79
79
80
- ### Warning about unused tuple-struct fields
81
-
82
- If you define a struct containing fields that are never used, rustc will warn
83
- about the unused fields. Now, in Rust 1.64, you can enable the
84
- ` unused_tuple_struct_fields ` lint to get the same warnings about unused fields
85
- in a tuple struct. In future versions, we plan to make this lint warn by
86
- default.
87
-
88
- Fields of type unit (` () ` ) do not produce a warning, to make it easier to
89
- migrate existing code without having to change tuple indices.
90
-
91
80
### Enhancing ` .await ` with ` IntoFuture `
92
81
93
82
Rust 1.64 stabilizes the
@@ -205,36 +194,11 @@ announced](https://blog.rust-lang.org/2022/08/01/Increasing-glibc-kernel-require
205
194
already required a newer kernel), and ` linux-gnu ` targets now require glibc
206
195
2.17 (except for targets which already required a newer glibc).
207
196
208
- ### Profile-guided optimization (PGO) for Windows targets
209
-
210
- Windows builds of the Rust compiler now use profile-guided optimization,
211
- providing performance improvements of 10-20% for compiling Rust code on
212
- Windows.
213
-
214
197
### ` rust-analyzer ` now available via ` rustup ` , no longer in preview
215
198
216
199
Users of ` rust-analyzer ` can now obtain it via ` rustup ` on the stable and beta
217
200
channels, not just on nightly.
218
201
219
- ### Cargo workspace inheritance
220
-
221
- When working with collections of related libraries or binary crates in one
222
- Cargo workspace, you can now avoid duplication of common field values between
223
- crates, such as common version numbers, repository URLs, or ` rust-version ` .
224
- This also helps keep these values in sync between crates when updating them.
225
- For more details, see
226
- [ ` workspace.package ` ] ( https://doc.rust-lang.org/cargo/reference/workspaces.html#the-workspacepackage-table ) ,
227
- [ ` workspace.dependencies ` ] ( https://doc.rust-lang.org/cargo/reference/workspaces.html#the-workspacedependencies-table ) ,
228
- and [ "inheriting a dependency from a
229
- workspace"] ( https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#inheriting-a-dependency-from-a-workspace ) .
230
-
231
- ### Cargo multi-target builds
232
-
233
- When building for multiple targets, you can now pass multiple ` --target `
234
- options to ` cargo build ` , to build all of those targets at once. You can also
235
- set [ ` build.target ` ] ( https://doc.rust-lang.org/cargo/reference/config.html#buildtarget ) to an array of multiple targets in ` .cargo/config.toml ` to
236
- build for multiple targets by default.
237
-
238
202
### Stabilized APIs
239
203
240
204
The following methods and trait implementations are now stabilized:
@@ -247,7 +211,37 @@ These APIs are now usable in const contexts:
247
211
248
212
### Other changes
249
213
250
- There are other changes in the Rust 1.64.0 release. Check out what changed in
214
+ There are other changes in the Rust 1.64 release, including:
215
+
216
+ * Windows builds of the Rust compiler now use profile-guided optimization,
217
+ providing performance improvements of 10-20% for compiling Rust code on
218
+ Windows.
219
+
220
+ * If you define a struct containing fields that are never used, rustc will warn
221
+ about the unused fields. Now, in Rust 1.64, you can enable the
222
+ ` unused_tuple_struct_fields ` lint to get the same warnings about unused
223
+ fields in a tuple struct. In future versions, we plan to make this lint
224
+ warn by default. Fields of type unit (` () ` ) do not produce this warning,
225
+ to make it easier to migrate existing code without having to change tuple
226
+ indices.
227
+
228
+ * When working with collections of related libraries or binary crates in one
229
+ Cargo workspace, you can now avoid duplication of common field values between
230
+ crates, such as common version numbers, repository URLs, or ` rust-version ` .
231
+ This also helps keep these values in sync between crates when updating them.
232
+ For more details, see
233
+ [ ` workspace.package ` ] ( https://doc.rust-lang.org/cargo/reference/workspaces.html#the-workspacepackage-table ) ,
234
+ [ ` workspace.dependencies ` ] ( https://doc.rust-lang.org/cargo/reference/workspaces.html#the-workspacedependencies-table ) ,
235
+ and [ "inheriting a dependency from a
236
+ workspace"] ( https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#inheriting-a-dependency-from-a-workspace ) .
237
+
238
+ * When building for multiple targets, you can now pass multiple ` --target `
239
+ options to ` cargo build ` , to build all of those targets at once. You can
240
+ also set [ ` build.target ` ] ( https://doc.rust-lang.org/cargo/reference/config.html#buildtarget )
241
+ to an array of multiple targets in ` .cargo/config.toml ` to build for
242
+ multiple targets by default.
243
+
244
+ Check out everything that changed in
251
245
[ Rust] ( https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1640-2022-09-22 ) ,
252
246
[ Cargo] ( https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-164-2022-09-22 ) ,
253
247
and [ Clippy] ( https://github.com/rust-lang/rust-clippy/blob/master/CHANGELOG.md#rust-164 ) .
0 commit comments