Rust 1.90.0 发布

Rust 1.90.0 版本中新特性和主要变更有:

  1. 在 Linux x86_64 平台上的默认连接器改为 LLD

  2. Cargo 支持发布整个工作区

  3. x86_64-apple-darwin 目标平台的支持级别从 Tier 1 降级为 Tier 2

  4. 发布一批稳定的 API

原文:https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/

occupied: 以类型安全的方式和 Option 值交互的 crate

当你向 Option 中插入值或者取出值的时候,occupied 这个 crate 可以帮你简化这个过程。

假设你有一个 Option 的元组,并且希望解包它们,但仅当它们都是 Some 时才解包,否则保持原样不做任何改动。如果你拥有这个元组的所有权,使用 match 很容易实现,但如果没有所有权,你就必须:

  1. 手动检查每个 Option 的 .is_some(),只有在确认所有项都不是 None 后才对它们调用 .unwrap(),或者

  2. 逐一使用 .take() 取出元素,并注意在操作后将每个 Option 恢复到原来的状态。

这个过程相对复杂。而 occupied crate 提供了一种简单的方式来完成。

Github: https://github.com/Lucretiel/occupied

LibrePCB 2.0 Next-Gen UI 预览版

为了解决旧版 UI 随着功能增加而变得混乱、多窗口切换不便的问题,LibrePCB 2.0 采用了一个全新的单窗口设计:选择了基于 Rust 的 Slint 框架。Slint 使用声明式语言来描述界面,相比 Qt 的传统过程式方法,在处理元素布局和行为关联时更简洁、安全。通过 Slint 的 Qt 后端,实现了与现有 Qt 业务逻辑的集成,并允许逐步迁移,新旧界面元素可以共存。


原文:https://librepcb

.org/blog/2025-09-12_preview_of_next_gen_ui/

--

From 日报小组 Yuan YQ

社区学习交流平台订阅:

  • Rustcc 论坛: 支持 RSS

  • 微信公众号:Rust语言中文社区

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐