Rust 1.52.0 稳定版预发布测试中,关键新特性一瞥

2022-09-01 15:39:18 浏览数 (1)

2021 年 5 月 4 日,Rust 内部论坛,Pietro Albini 代表 Rust 发布团队宣布 1.52.0 pre-release testing

Rust 1.52.0 预发布版本已经为测试做好准备,预定的发布日程为 本周四(2021 年 5 月 6 日)。请查看发布说明,详细了解新版本的改进项。

安装 Rust 1.52.0 稳定版

因为还未正式发布,不能从 Rust 国内工具链镜像源获取,需要从 https://dev-static.rust-lang.org 站点下载,您可以运行如下命令安装 Rust 1.52.0 到本地系统:

  • Linux、macOS
代码语言:javascript复制
RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable
  • Windows
代码语言:javascript复制
set RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org
rustup update stabl

安装后,请通过 rustccargo 命令查看新的版本号。

关于 Rust 工具链的国内源,可以参阅《配置 Rust 工具链的国内源》。

关键新特性一瞥

假期回程,赶路前对关键新特性简要一瞥。详细请查阅发布说明,或者关注本站,周五进行新特性的详细汇总。

语法

  • 增加代码分析(lint)unsafe_op_in_unsafe_fn,用于检查 unsafe fn 中的不安全(unsafe)代码,是否被包裹在 unsafe 代码块中。此代码分析(lint)特性默认开启,未来的版本中,可能会成为警告或错误。
  • Rust 1.52.0 开始,可以将数组的可变引用,强制转换为包含相同元素类型的指针。

编译器

  • 升级默认的 LLVM 为 LLVM 12。

对以下目标提供 3* 层架构支持:

  • s390x-unknown-linux-musl
  • riscv32gc-unknown-linux-muslriscv64gc-unknown-linux-musl
  • powerpc-unknown-openbsd

  • OsString 实现了 ExtendFromIterator
  • cmp::Reverse 增加 #[repr(transparent)] 属性表示
  • Arc<impl Error> 实现 error::Error
  • 所有整数除法和余数运算,现在都为 const

已稳定 APIs

  • Arguments::as_str
  • char::MAX
  • char::REPLACEMENT_CHARACTER
  • char::UNICODE_VERSION
  • char::decode_utf16
  • char::from_digit
  • char::from_u32_unchecked
  • char::from_u32
  • slice::partition_point
  • str::rsplit_once
  • str::split_once

上个版本中,稳定的如下 APIs,现在为 const

  • char::len_utf8
  • char::len_utf16
  • char::to_ascii_uppercase
  • char::to_ascii_lowercase
  • char::eq_ignore_ascii_case
  • u8::to_ascii_uppercase
  • u8::to_ascii_lowercase
  • u8::eq_ignore_ascii_case

请关注本站,周五进行新特性的详细汇总。

若你在测试过程中发现任何问题,可以通过内部论坛帖子进行反馈。

谢谢您的阅读,欢迎交流。

0 人点赞