Rust nightly 开始测试 trait 实现范围与字段可变性限制
Rust 官方博客宣布 RFC 3323 “Restrictions” 已可在 nightly Rust 上测试,包含 impl_restriction 和 mut_restriction 两项功能。
impl_restriction 允许显式限制 trait 可被实现的范围,例如用 pub impl(crate) trait Foo 防止其他 crate 实现该 trait,减少 sealed trait 模式所需的额外定义;mut_restriction 则允许限制字段可被修改的范围,例如让字段可以被其他 crate 读取,但只能在定义它的 crate 内修改。该限制也适用于枚举变体、union 和元组字段,并会阻止外部通过 struct expression 构造包含受限字段的值。相关功能目前需要 nightly Rust 和 feature gate,官方正在征集语法与未决问题反馈。
原文链接:https://blog.rust-lang.org/inside-rust/2026/08/10/call-for-testing-impl-and-mut-restrictions/
循环 trait 实现:为 perfect derive 探索可接受的循环证明
这篇文章讨论 Rust trait 求解器中的循环 trait 实现问题,并以 Dump、Clone 和递归 List<T> 为例说明其动机。
当前 Rust 大多要求 trait 实现是非循环的,但 perfect derive 希望根据字段类型生成更精确的 where 条件,例如直接约束 Rc<T> 和 Option<Rc<List<T>>> 可被 clone,而不额外要求 T: Clone。这种写法可能产生需要证明自身的循环;如果无条件接受循环,又可能通过带有 supertrait 的伪实现错误证明任意类型满足 Copy。文章将问题归纳为允许有用的循环实现、拒绝不健全循环,并计划继续讨论 coinduction、productivity 和 specialization 等相关设计。
原文链接:https://smallcultfollowing.com/babysteps/blog/2026/08/10/cyclic-trait-solving/
Lepticons 0.13:Leptos 的 Lucide 图标组件与可嵌入选择器
Lepticons 0.13 是一个为 Leptos 提供 Lucide 图标的 Rust 工具包,包含约 1,700 个图标、可嵌入的图标选择器和动画组件。
项目把图标拆为 42 个类别 feature,而不是为每个图标设置 feature;LucideGlyph 使用类型安全的枚举,拼写错误会在编译期暴露。数据层可以脱离 Leptos 单独使用,选择器支持搜索、网格和类别过滤,动画组件提供描边绘制、旋转、脉冲、弹跳和 ping 效果。Lucide 通过每周自动更新 submodule 和代码生成保持同步,项目还提供在线 demo、crates.io 与 docs.rs 入口。
原文链接:https://github.com/eugener/lepticons
Rust OSDev 2026 年 7 月:裸机目标、core::io 与 UEFI 工具链更新
《This Month in Rust OSDev》是 Rust 操作系统开发生态的月度汇总,2026 年 7 月版本整理了编译器、裸机目标、UEFI 和操作系统项目的进展。
本期包括 RISC-V32 riscv32imfc-unknown-none-elf 目标、ARMv8-M target features、LoongArch LSX/LASX 内联汇编寄存器支持,以及将 std::io 的 Read、Write、Seek 和缓冲包装器继续迁移到 core::io 与 alloc::io。NASA 还发布了面向安全关键航天场景的 WebAssembly 1.0 解释器;rust-osdev 项目同步了 bootloader、uefi-rs、x86_64、acpi、ps2-mouse 和 bootimage 的更新。
原文链接:https://rust-osdev.com/this-month/2026-07/
评论区
写评论还没有评论