< 返回版块

Yuan YQ 发表于 2025-09-19 11:51

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

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页