Rust 1.90.0 发布
Rust 1.90.0 版本中新特性和主要变更有:
- 在 Linux x86_64 平台上的默认连接器改为 LLD
- Cargo 支持发布整个工作区
x86_64-apple-darwin
目标平台的支持级别从 Tier 1 降级为 Tier 2- 发布一批稳定的 API
原文:https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/
occupied: 以类型安全的方式和 Option
值交互的 crate
当你向 Option
中插入值或者取出值的时候,occupied 这个 crate 可以帮你简化这个过程。
假设你有一个 Option
的元组,并且希望解包它们,但仅当它们都是 Some
时才解包,否则保持原样不做任何改动。如果你拥有这个元组的所有权,使用 match
很容易实现,但如果没有所有权,你就必须:
- 手动检查每个
Option
的.is_some()
,只有在确认所有项都不是None
后才对它们调用.unwrap()
,或者 - 逐一使用
.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
社区学习交流平台订阅:
评论区
写评论还没有评论