























The Rust team is happy to announce a new version of Rust, 1.67.0. Rust is a programming language empowering everyone to build reliable and efficient software.
If you have a previous version of Rust installed via rustup, you can get 1.67.0 with:
$ rustup update stable
If you don't have it already, you can get
rustup from the appropriate page on
our website, and check out the detailed release notes for
1.67.0
on GitHub.
If you'd like to help us out by testing future releases, you might consider
updating locally to use the beta channel (rustup default beta) or the nightly
channel (rustup default nightly). Please
report any bugs you
might come across!
#[must_use] effective on async fnasync functions annotated with #[must_use] now apply that attribute to the
output of the returned impl Future. The Future trait itself is already
annotated with #[must_use], so all types implementing Future are
automatically #[must_use], which meant that previously there was no way to
indicate that the output of the Future is itself significant and should be used in some way.
With 1.67, the compiler will now warn if the output isn't used in some way.
#[must_use]
async fn bar() -> u32 { 0 }
async fn caller() {
bar().await;
}warning: unused output of future returned by `bar` that must be used
--> src/lib.rs:5:5
|
5 | bar().await;
| ^^^^^^^^^^^
|
= note: `#[warn(unused_must_use)]` on by defaultstd::sync::mpsc implementation updatedRust's standard library has had a multi-producer, single-consumer channel since
before 1.0, but in this release the implementation is switched out to be based
on crossbeam-channel. This
release contains no API changes, but the new implementation fixes a number of
bugs and improves the performance and maintainability of the implementation.
Users should not notice any significant changes in behavior as of this release.
{integer}::checked_ilog{integer}::checked_ilog2{integer}::checked_ilog10{integer}::ilog{integer}::ilog2{integer}::ilog10NonZeroU*::ilog2NonZeroU*::ilog10NonZero*::BITSThese APIs are now stable in const contexts:
Check out everything that changed in Rust, Cargo, and Clippy.
Many people came together to create Rust 1.67.0. We couldn't have done it without all of you. Thanks!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。