打开网易新闻 查看精彩图片
C 的“可变参数”,Rust 也能写了
Rust 1.99 正式登场。最抓眼的变化,是它开始支持直接在 Rust 里定义 C 兼容的可变参数函数。 以前 Rust 只能调用外面定义好的 variadic 函数,比如 C 的printf。现在,自己动手实现也行。和 C 库打交道,少了一层别扭。
裸指针拿到大小和对齐
这版还稳定了一组裸指针相关 API。开发者可以从裸指针里拿到大小和对齐信息,动态大小的数据也覆盖。 对那些要精细控制内存、又不想离开安全边界的项目,这类能力很实用。
Box::leak 的文档改口了
行为没变,但 Rust 更新了Box::leak的建议。文档现在劝开发者:别先把内存泄露出去,再试图重建并释放同一块分配。 说白了,别绕弯路,容易出问题。
标准库又稳了一批 API
Rust 1.99 稳定了覆盖 vectors、strings、文件系统时间戳、迭代器、内存处理的一批标准库 API。 亮点包括:把 Vec 分配拆成独立组件、之后再重建;处理无效 UTF-8 数据时避免不必要的复制;新增修改文件时间戳的文件系统 API。 Boxed arrays 获得更广的迭代器支持;VecDeque多了新方法,从尾部遍历时还能保留元素。
编译器、Cargo、Clippy 也没闲着
编译器、Cargo 和 Clippy 也有更新。完整改动列表在官方 release notes 里。 已经用rustup管理 Rust 的用户,执行rustup update stable就能升级。 想了解细节,可以看官方公告。
热门跟贴