2025年的Rust:主要新特性与变化概览

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

引言



2025年已成为Rust生态系统的里程碑之年。这门近年来在系统编程、WebAssembly(WASM)和命令行工具领域站稳脚跟的语言,正持续蓬勃发展。Rust开发团队和社区发布了多项重要更新,使语言更具性能、更安全且更便捷。



本文将解读Rust在2025年的关键创新:从异步迭代器的稳定化到WebAssembly开发的改进,再到全新的宏方法。无论您是Rust资深用户还是刚刚关注这门语言,本综述将助您把握生态系统的演进方向。



异步迭代器稳定化



2025年最受期待的事件之一是AsyncIterator和AsyncIteratorExt特质的稳定化。此前,处理异步数据流只能通过futures或tokio-stream等第三方crates实现。现在该功能已内置于标准库中。



有何变化?



现在您可以直接在稳定版Rust中编写异步生成器,并将其与map、filter、collect等标准方法组合使用。这降低了入门门槛并减少了依赖项数量。



// 使用稳定异步迭代器的示例use std::collections::VecDeque;

async fn process_stream() { let stream = async_stream::stream! { for i in 0..10 { yield i * 2; } };

// 使用内置方法 let result: Vec<i32> = stream .map(|x| async move { x + 1 }) .filter(|x| async move { *x > 5 }) .collect() .await;

println!("结果: {:?}", result);}


此外,FromAsyncIterator和IntoAsyncIterator特质也已稳定,允许在同步集合与异步集合之间轻松转换。这在处理网络请求或文件流时尤为实用。



改进的WebAssembly(WASM)支持



Rust与WASM生态在2025年取得了重大进展。核心创新是对WASI Preview 2(WebAssembly系统接口)的原生支持。此前WASI多处于实验阶段,现已稳定并推荐用于生产环境。



这对开发者意味着什么?



  • 文件系统访问 — WASI Preview 2允许安全操作文件和目录,这曾是过去的主要限制。
  • 网络功能 — 现在可使用标准crates直接在WASM中创建HTTP服务器和客户端。
  • 性能提升 — 新的ABI(应用程序二进制接口)减少了主机与WASM模块间函数调用的开销。


// 使用WASI Preview 2在WASM中创建简单HTTP服务器的示例use wasi::http::handler;use wasi::http::types::{Request, Response};

fn main() { handler::serve(|req: Request| -> Response { Response::new() .with_status(200) .with_body(b"来自Rust WASM的问候!") });}


同样值得关注的是构建工具的显著改进。wasm-pack已更新,可为导出的函数自动生成TypeScript类型,简化了Rust代码与前端框架的集成。



宏2.0:全新语法与功能



Rust的宏系统一直功能强大但难以掌握。2025年,Rust团队推出了宏2.0——新一代声明式宏,旨在取代旧的macro_rules!。

博客

书籍推荐