通告: 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的创建。没有你们所有人的帮助,我们无法完成它。谢谢!

相关推荐
QMCY_jason5 小时前
Ubuntu 安装RUST
linux·ubuntu·rust
碳苯9 小时前
【rCore OS 开源操作系统】Rust 枚举与模式匹配
开发语言·人工智能·后端·rust·操作系统·os
zaim111 小时前
计算机的错误计算(一百一十四)
java·c++·python·rust·go·c·多项式
凌云行者20 小时前
使用rust写一个Web服务器——单线程版本
服务器·前端·rust
cyz1410011 天前
vue3+vite@4+ts+elementplus创建项目详解
开发语言·后端·rust
超人不怕冷1 天前
[rust]多线程通信之通道
rust
逢生博客1 天前
Rust 语言开发 ESP32C3 并在 Wokwi 电子模拟器上运行(esp-hal 非标准库、LCD1602、I2C)
开发语言·后端·嵌入式硬件·rust
Maer091 天前
WSL (Linux)配置 Rust 开发调试环境
linux·运维·rust
白总Server1 天前
CNN+Transformer在自然语言处理中的具体应用
人工智能·神经网络·缓存·自然语言处理·rust·cnn·transformer
凌云行者1 天前
使用rust写一个Web服务器——async-std版本
服务器·前端·rust