2019-10-10 Compiler Team Triage Meeting

Oct. 15, 2019 · Wesley Wiser on behalf of the compiler team

The compiler team had our weekly triage meeting on 2019-10-10. You can find the minutes on the compiler-team repository. Each week, we have general announcements from the team followed by check-ins from two of the compiler team working groups.

Announcements

  • @centril is splitting libsyntax into data and logic parts which will decrease the amount of code librustc depends on.

  • @nagisa is working on a cross-platform version of stacker which will allow us to avoid stack overflows in rustc.

  • There is a compiler team design meeting scheduled for tomorrow (2019-10-11) to discuss some of @Zoxc's PRs.

  • @pnkfelix is revising the code that handles structural match checking.

  • @nikomatsakis has a PR (#65232) up which helps us get closer to lazy normalization.

  • wg-traits is going to start holding a weekly "office hours" video call to help answer questions and teach people about trait system internals.

Working group sync

wg-rustc-dev-guide

wg-rustc-dev-guide aims to make the compiler easier to learn by ensuring that rustc-dev-guide and api docs are “complete”.

  • wg-rustc-dev-guide has been working on transcribing videos from the compiler lecture series into rustc-dev-guide chapters.

  • Originally, individuals were assigned one or lectures to complete but that hasn't worked very well.

  • Recently, they're trying to work on one video at a time as a team with much better results.

  • There's a PR open for a new chapter based on the ty lecture.

Link to full discussion

wg-llvm

wg-llvm encompasses work in LLVM upstream fixing the issues and implementing features that matter to Rust.

  • rustc has upgraded to the LLVM 9 release;
    • Which allows us to replace some the emscripten stuff with LLVM’s toolchain.
    • As part of these upgrades we will likely end up dropping support for the super old LLVM 6, which in turn allows us to stop building the unnecessary Go & OCaml bindings to LLVM, which in turn helps rustc build times slightly.
  • People are also working on enabling use of the new pass manager, which might give us some tangible code quality improvements over the status quo.

Link to full discussion