< 返回版块

苦瓜小仔 发表于 2025-08-02 09:32

Tags:日报

半月刊:The Embedded Rustacean Issue #51

阅读:https://www.theembeddedrustacean.com/p/the-embedded-rustacean-issue-51

文章《添加隐式 auto-trait bounds 很困难》

作者:lcnr(Rust Types Team Lead)

这篇文章探讨了在 Rust 中添加隐式自动特征(auto-trait)边界时面临的挑战。作者指出,添加隐式自动特征边界(如 LeakMoveableMetaSized)可以带来诸多好处,但同时也存在显著的性能成本。

特别是当这些特征的实现不局限于指针间接层时,会导致编译时间大幅增加。例如,为 TyCtxt 添加一个较少检查的自动特征会导致编译时间增加 7 秒,而全面支持额外的默认自动特征会使编译时间从 7 分钟延长到 33 分钟。

尽管通过优化可以部分缓解性能问题,但完全避免这些性能退化是不可能的。此外,作者还提到,如果隐式特征不局限于指针间接层,可能会导致其他问题,如需要增加递归限制和触发错误的协程生命周期错误。

阅读:https://lcnr.de/blog/2025/07/28/implicit-auto-trait-bounds.html

文章《测试 GCC 的 Rust 编译器后端》

这篇文章主要介绍了作者在修复基于 GCC 的 Rust 编译器后端(rustc_codegen_gcc)中的工作。

文章指出,编译器的正确性至关重要,而编译器的复杂性使得查找和修复错误变得困难。

作者通过使用一个名为 rustlantis 的工具生成 Rust 中间表示(MIR)代码,来测试编译器的正确性。

通过大量模糊测试,作者发现了一些编译器错误,并详细介绍了如何通过最小化代码来定位和修复这些错误。

此外,文章还探讨了如何通过 ABI 测试来验证 GCC 和 LLVM 编译的 Rust 代码之间的兼容性,以及如何改进对新平台(如 Motorola 6800)的支持。

作者强调了测试在编译器开发中的重要性,并分享了在修复编译器错误过程中遇到的挑战和解决方案。

阅读:https://fractalfir.github.io/generated_html/cg_gcc_bootstrap_2.html

Reddit:https://www.reddit.com/r/rust/comments/1mb1o7q/testing_the_gccbased_rust_compilerbackend/

视频:Vibe coding complex changes in Rust

关注我的人可能早就知道,我对机器学习多少有点“卢德分子”情调——倒不是反对用 ML 工具,而是这些工具在我的日常工作中一直派不上用场,尤其在编程这件事上。我之前的假设是:这多少跟我的工作性质有关——它通常并不适合 ML 最擅长的“模式复刻”,也就是那种已经有大量现成样本供模型学习的场景。

最近,“氛围编程(vibe coding)”被炒得火热,尤其是像 Claude Code 这类“代理式”AI 编程助手。于是我决定“真刀真枪”地试一次。具体说,我打算给一个做类型安全的刚体变换的 Rust crate——Sguaba(https://github.com/helsing-ai/sguaba )——做一些不算简单的改动。Sguaba 代码量不算大,但逻辑和 Rust 类型系统的运用都足够复杂,我觉得够 AI 喝一壶的。

这期视频就是我对自己的怀疑进行的一次“证伪实验”——用 Claude Code 端到端地完成其中几项改动。我之前完全没亲自用过这类工具,只看过几支视频、几篇博文,所以这次是一手、二手体验的“无滤镜”首秀!我们最终搞定了四项任务里最简单的两项,然后 token 用光了 😅 整体过程既有趣又长见识。不过,它并未真正推翻我的怀疑;只能说,只要肯花时间“结对编程”,确实能走得很远。至于这类任务是否真的节省时间,我仍持保留意见。

Sguaba 的演示幻灯片放在 这儿

【Luddite】:泛指对新技术或新趋势持强烈怀疑甚至抵制态度的人。源自 19 世纪英国工业革命兴起,机器开始大规模取代手工劳动,导致许多纺织工人失业。传说有一位名叫 内德·卢德(Ned Ludd) 的工人,愤怒之下砸毁了纺织机。于是,那些反对新技术、认为机器威胁生计的工人便被称为“卢德分子”。

观看:https://www.youtube.com/watch?v=EL7Au1tzNxE

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页