今天我代表编译器团队宣布一项新实验:LLVM ICE-breaker 小组。如果你熟悉 LLVM 并想为 rustc 做贡献——但又不想承担大量承诺——那么 LLVM ICE-breaker 小组可能非常适合你!
什么是 LLVM ICE-breaker 小组?
LLVM ICE-breaker 小组的核心是一个名单,上面列着想在遇到 LLVM 错误时收到通知的人。你可以非常轻松地将自己添加到这个名单——只需提交一个 PR!当我们遇到合适的错误时,我们会写一条消息,`@` 提及名单上的每个 Github 用户。如果你有时间,也许可以修复其中一个,或者至少提供一些经验之谈来帮助其他人弄清楚问题所在。
然而,这个小组还关联着其他一些东西。例如,我们有一个指南,提供了一些修复 LLVM 相关错误的技巧,可能会帮助你入门(特别是如果你对 rustc 不太熟悉的话)。
我们讨论的是哪种错误?
目标是识别“自包含”的错误,这些错误不太可能需要大规模的编译器重构或与其他大项目纠缠不清。
当 Rust 开发者分类错误并为 ICE-breakers 打上标签时,他们会在 Github 上ping 这个小组。
谁应该加入?
这个小组非常适合熟悉 LLVM 并想了解更多 Rust 或更深入参与 Rust 项目的人。即使你没有时间为 rustc 提交 PR,也有许多其他方式可以提供帮助:
- 识别我们可能遇到的开放的 LLVM 错误;
- 将 Rust 源代码精简到最小可复现案例;
- 将 LLVM IR 精简到最小问题案例;
- 等等。
(话说回来,即使你对 LLVM 并不是很熟悉,也欢迎加入小组——这是学习的绝佳方式!)
ICE-breaker 这个名字是怎么回事?
一个“ICE”是“内部编译器错误(internal compiler error)”。它实际上特指编译器 panic 的情况(这种错误通常比较容易修复)。事实上,很少有 LLVM 错误会导致真正的 ICE,但这个名字实在太好了,不容错过。
当然,我们也希望这些 ICE-breaker 小组能帮助人们更熟悉 rustc 的开发工作;说白了,就是“打破僵局”(break the ice),如果你愿意的话(哈哈!我真是个天才)。
会有更多的 ICE-breaker 小组吗?
我当然希望如此!正如我之前提到的,这是一个实验,但如果进展顺利,我们完全打算创建更多的 ICE-breaker 小组。
当前的 ICE-breaker 小组列表记录在rustc 开发指南中
那么,如何再次报名加入呢?
很简单!只需提交一个 PR!
更新
自本博客文章撰写以来,“ICE-breaker”小组已更名为“通知小组”。