主要观点:Rust 团队发布 1.86.0 版本,介绍了该版本的多项新特性及其他变化。
关键信息:
- 可通过
rustup update stable更新到 1.86.0 版本,也可获取rustup安装。 - 稳定特性包括 trait 向上转换、
HashMap和切片可同时可变索引、安全函数可标记#[target_feature]属性、调试断言确保指针非空、默认开启missing_abilint 警告、1.87.0 版本将移除i586-pc-windows-msvc目标等。 - 介绍了各特性的使用示例及相关 RFC 信息。
重要细节: - trait 向上转换可将 trait 对象向上转换为超 trait 的对象,注意 raw 指针携带不变式,
Anytrait 可方便调用其 downcast 方法。 HashMap和切片的get_disjoint_mut方法可安全获取多个元素的可变引用。- 安全函数标记
#[target_feature]后只能在相同标记的函数中安全调用,不能传递给接受Fn*特质绑定的函数。 - 调试断言在调试模式下确保指针非空,依赖项未开启调试断言时不会触发。
- 多个稳定的 API 及其在 const 上下文中稳定的 API 列举。
- 介绍了 Rust、Cargo 和 Clippy 的其他变化及贡献者。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。