通告: Rust 1.75.0

原文链接

Rust团队很高兴地宣布Rust的新版本1.75.0的发布。Rust是一种赋能每个人构建可靠和高效软件的编程语言。

如果你已经通过rustup安装了Rust的旧版本,你可以使用以下命令获取1.75.0版本:

sql 复制代码
rustup update stable

如果你还没有安装rustup,你可以从我们网站上的相应页面获取rustup,并查看1.75.0的详细发布说明。

如果你想帮助我们测试未来的版本,你可能会考虑本地更新到beta频道(rustup default beta)或夜间频道(rustup default nightly)。请报告你可能遇到的任何bug!

1.75.0稳定版中的内容:

async fn和trait中的返回位置impl Trait

如上周宣布的,Rust 1.75支持在trait中使用async fn-> impl Trait。然而,这个初始版本带有一些在公告帖子中描述的限制。

预计这些限制将在未来的版本中被取消。

指针字节偏移API

原始指针(*const T*mut T)主要支持以T为单位的操作。例如,<*const T>::add(1)会将指针的地址增加size_of::<T>()字节。在某些情况下,使用字节偏移更为方便,这些新API避免了调用者首先需要转换为*const u8/*mut u8

  • pointer::byte_add
  • pointer::byte_offset
  • pointer::byte_offset_from
  • pointer::byte_sub
  • pointer::wrapping_byte_add
  • pointer::wrapping_byte_offset
  • pointer::wrapping_byte_sub

Rustc的代码布局优化

Rust编译器继续变得更快,这个版本包括将BOLT应用于我们的二进制版本发布,为我们的基准测试带来了2%的平均墙钟时间改进。这个工具优化了包含大部分rustc代码的librustc_driver.so库的布局,允许更好的缓存利用。

我们现在还使用-Ccodegen-units=1构建rustc,这为LLVM提供了更多的优化机会。这项优化为我们的基准测试带来了另外1.5%的平均墙钟时间提升。

在这个版本中,这些优化限于x86_64-unknown-linux-gnu编译器,但我们期望随着时间的推移将其扩展到更多平台。

稳定化的API

  • Atomic*::from_ptr
  • FileTimes
  • FileTimesExt
  • File::set_modified
  • File::set_times
  • IpAddr::to_canonical
  • Ipv6Addr::to_canonical
  • Option::as_slice
  • Option::as_mut_slice
  • pointer::byte_add
  • pointer::byte_offset
  • pointer::byte_offset_from
  • pointer::byte_sub
  • pointer::wrapping_byte_add
  • pointer::wrapping_byte_offset
  • pointer::wrapping_byte_sub

以下API现在在const上下文中稳定:

  • Ipv6Addr::to_ipv4_mapped
  • MaybeUninit::assume_init_read
  • MaybeUninit::zeroed
  • mem::discriminant
  • mem::zeroed

其他变化

查看在Rust、Cargo和Clippy中发生的所有变化。

对1.75.0的贡献者

很多人共同参与了Rust 1.75.0的创建。没有你们所有人的帮助,我们无法完成它。谢谢!

相关推荐
前端与小赵1 天前
什么是Sass,有什么特点
前端·rust·sass
一个小坑货1 天前
Rust基础
开发语言·后端·rust
Object~1 天前
【第九课】Rust中泛型和特质
开发语言·后端·rust
码农飞飞1 天前
详解Rust结构体struct用法
开发语言·数据结构·后端·rust·成员函数·方法·结构体
Dontla2 天前
Rust derive macro(Rust #[derive])Rust派生宏
开发语言·后端·rust
fqbqrr2 天前
2411rust,编译时自动检查配置
rust
梦想画家2 天前
用Rust中byteorder包高效处理字节序列
rust·序列化·byteorder·文件编码
beifengtz3 天前
【Rust调用Windows API】读取系统CPU利用率
windows·rust·windows api
梦想画家3 天前
精通Rust系统教程-过程宏入门
rust·元编程·rust宏
fqbqrr3 天前
2411rust,1.81,1.82
rust