2019-10-10 编译器团队分诊会议

2019 年 10 月 15 日 · Wesley Wiser 代表 编译器团队

编译器团队于 2019 年 10 月 10 日召开了每周分诊会议。您可以在 compiler-team 仓库中找到会议纪要。每周,我们都会发布团队的总体公告,随后由编译器团队的两个工作组进行汇报。

公告

  • @centril 正在将 libsyntax 分割成数据和逻辑两部分,这将减少 librustc 的代码依赖量。

  • @nagisa 正在开发一个跨平台的 stacker 版本,这将帮助我们在 rustc 中避免栈溢出。

  • 编译器团队定于明天(2019 年 10 月 11 日)召开一次设计会议,讨论 @Zoxc 的一些 PR。

  • @pnkfelix 正在修订处理结构化匹配检查的代码。

  • @nikomatsakis 提出了一个 PR (#65232),这有助于我们更接近惰性规范化(lazy normalization)。

  • wg-traits 将开始每周举行一次“答疑时间”视频通话,以帮助回答问题并教授人们关于 trait 系统内部知识。

工作组同步

wg-rustc-dev-guide

wg-rustc-dev-guide 旨在通过确保 rustc-dev-guide 和 API 文档“完整”来使编译器更容易学习。

  • wg-rustc-dev-guide 一直致力于将 编译器讲座系列 中的视频转录到 rustc-dev-guide 的章节中。

  • 最初,个人被分配一节或多节讲座来完成,但这效果不太好。

  • 最近,他们尝试以团队形式一次处理一个视频,取得了更好的结果。

  • 有一个PR 已开启,用于基于 ty 讲座的新章节。

链接到完整讨论

wg-llvm

wg-llvm 负责 LLVM 上游的工作,修复对 Rust 重要的问题并实现相关功能。

  • rustc 已升级到 LLVM 9 版本;
    • 这使得我们可以用 LLVM 的工具链替换部分 emscripten 内容。
    • 作为这些升级的一部分,我们很可能会放弃对非常老的 LLVM 6 的支持,这反过来又使我们可以停止构建不必要的 Go 和 OCaml 与 LLVM 的绑定,从而稍微缩短 rustc 的构建时间。
  • 人们还在努力启用新的 pass 管理器,这可能会在现状基础上带来一些明显的代码质量提升。

链接到完整讨论