半月刊:The Embedded Rustacean Issue #49
亮点:
- 📢 乐鑫 DevCon 2025 演讲嘉宾征集
- 🦺 CISA 和 NSA 参与内存安全对话
- 🔐 微软宣布 RIFT (Rust 恶意软件分析工具)
- 💰️ Nordic 收购 Memfault 和 Neuton
- 📢 RustForge 和 Oxidize 会议日程公布
- 📱 Meta 在移动端从 C 语言过渡到 Rust
- ♾️ 全新 AI 驱动的 Arduino IDE
阅读:https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-49
Python 语言峰会:Python 核心开发者对 Rust 的期望
作者:Python Software Foundation
2025 年 Python 语言峰会探讨了 Python 核心开发者对 Rust 的期望。
PyO3 维护者 David Hewitt 指出,Rust 在 PyPI 中的使用率逐渐增加,约 1/4 至 1/3 的新本地代码项目使用 Rust。
他展示了 PyO3 如何简化 Python 中的 Rust 使用,并讨论了 Rust 在支持 Python 自由线程方面的优势,以及在 GCC 后端和子解释器隔离方面的挑战。
他还提出了 Python 核心开发者是否应投资 Rust 的问题,认为 Rust 的采用可能增加开发者人才库,并建议开发更高层次的 Rust API 以替代 C API。
Reddit:https://www.reddit.com/r/rust/comments/1lsl3lq/the_python_language_summit_2025_what_do_core/
文章《使用 GCC 构建 Rust》
作者:fractalfir
这篇文章讲述了使用 GCC 替代 LLVM 来构建 Rust 编译器的尝试。
作者通过“bootstrapping”过程,分三个阶段逐步构建 Rust 编译器。
过程中遇到了多个问题,包括 128 位整数处理、递归函数内联问题以及优化时的段错误等。
通过调试和修复这些问题,作者最终成功实现了阶段 2 的构建,并接近完成阶段 3 的目标。
尽管过程中面临内存消耗大和性能问题,但作者对未来的工作充满信心,并提到了后续可能的改进方向。
阅读:https://fractalfir.github.io/generated_html/cg_gcc_bootstrap.html
Reddit:https://www.reddit.com/r/rust/comments/1ltaxcp/bootstraping_the_rust_compiler/
文章《类型参数中的方法调用解析》
作者:conectado
Rust 的方法解析过程遵循一系列规则来确定调用哪个方法。
首先,从候选类型列表 [T]
开始,尝试对最后一个元素进行解引用(*
),如果成功则将其加入列表并重复此过程。
接着尝试进行无大小强制转换(如 [T; N]
转换为 [T]
)。之后,为每个候选类型 t
添加 &t
和 &mut t
。
最后,依次检查每个类型的固有方法、类型参数的约束特征方法,以及可见的特征实现方法。
如果在某一步找到唯一匹配的方法,则调用并结束;如果存在多个匹配,则报错。
此外,解析顺序会影响结果。例如,类型参数直接约束的特征方法(如 impl<T: Bar>
中的 Baz
)会在通过特征实现的方法之前被检查,这可能导致意外的行为,如在多个特征提供相同方法时发生冲突。
阅读:https://gist.github.com/conectado/7b5ce76abb325de7a56a0c8a428bc125
Reddit:https://www.reddit.com/r/rust/comments/1lt7vgh/method_call_resolution_in_rust_for_type_parameters/
Flat_rbtree:基于索引的红黑树实现
flat_rbtree
是一个高性能、基于索引的红黑树实现,专为性能和内存布局敏感的系统设计。
它具有以下特点:
- 节点存储在数组中,避免指针间接访问;
- 不使用堆分配;
- 支持无标准库的环境;
- 使用
MaybeUninit
预分配内存,确保安全初始化; - 编译时固定容量,资源使用可预测;
- 可选支持子树大小跟踪,实现
rank
、select
和range_count
查询。
基准测试:
仓库:https://github.com/matheus-git/flat_rbtree
Reddit:https://www.reddit.com/r/rust/comments/1lset7m/indexbased_redblack_tree_for_no_std/
Visual-cryptography:Rust 实现基本的视觉密码学算法库
该库提供多种方案和可配置块大小的视觉密码算法的 Rust 实现。
视觉密码学是一种对视觉信息(图像)进行加密的技术,使人类视觉系统无需任何复杂的加密计算即可进行解密。其基本原理是将秘密图像分割成多个部分,这些部分看起来像随机噪声,但叠加后会显示原始秘密。
仓库:https://github.com/wowinter13/visual-cryptography
Reddit:https://www.reddit.com/r/rust/comments/1lslpc0/visual_cryptography_in_rust/
R2048:TUI 版本的 2048 游戏
仓库:https://github.com/asaft29/r2048
讨论:Rust 在特定领域的成熟度
阅读:https://www.reddit.com/r/rust/comments/1lsrlsw/maturity_of_rust_in_specific_niches/
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论