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

相关推荐
花褪残红青杏小2 小时前
Rust图像处理第14节-图片缩放与斜切畸变:齐次坐标 + 共享仿射变换
rust·webassembly·图形学
梦帮科技4 小时前
GRAVIS v4.0:基于Web的极速套利架构设计与实时数据流实现
前端·人工智能·rust·自动化·区块链·智能合约·数字货币
花褪残红青杏小12 小时前
Rust图像处理第13节-任意角度旋转:旋转矩阵 + 双线性插值 + 自动补白边
rust·webassembly·图形学
小杍随笔16 小时前
【Rust + Argon2id 生产级密码管理模块设计与实现】
网络·后端·算法·rust
梦帮科技16 小时前
GRAVIS v5.5:向硬核桌面端进化与云端多节点容灾部署实践
windows·架构·rust·自动化·区块链·智能合约·数字货币
梦醒沉醉17 小时前
2、Rust程序设计语言——常见编程概念
rust
程序员爱钓鱼18 小时前
Rust 开发环境安装(Windows|macOS|Linux)
后端·rust
花褪残红青杏小1 天前
Rust图像处理第12节-图片翻转与旋转:坐标重映射几何变换
rust·webassembly·图形学
CodeStats1 天前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
程序员爱钓鱼2 天前
为什么学习 Rust?Rust 能做什么?
后端·rust