|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "2019-11-14 Compiler Team Triage Meeting" |
| 4 | +author: "Wesley Wiser" |
| 5 | +description: "2019-11-14 Compiler Team Triage Meeting" |
| 6 | +team: the compiler team <https://www.rust-lang.org/governance/teams/compiler> |
| 7 | +--- |
| 8 | + |
| 9 | +The compiler team had our weekly triage meeting on 2019-11-14. |
| 10 | +You can find the [minutes](https://rust-lang.github.io/compiler-team/minutes/triage-meeting/2019-11-14/) on the [compiler-team](https://github.com/rust-lang/compiler-team) repository. |
| 11 | +Each week, we have general announcements from the team followed by check-ins from two of the compiler team working groups. |
| 12 | + |
| 13 | +## Announcements |
| 14 | + |
| 15 | +- Request for assistance: "Rustc panics (NoSolution): could not prove Binder(projection soup)" [#65581](https://github.com/rust-lang/rust/issues/65581) |
| 16 | + |
| 17 | +- Request for assistance: "Rust 1.38 regressions weren't fully triaged" [#65577](https://github.com/rust-lang/rust/issues/655577) |
| 18 | + |
| 19 | +- Request for assistance: "Miscompilation with target-cpu=znver1 (AMD Ryzen 1000/2000 series) on Windows + LLVM 9." [#63959](https://github.com/rust-lang/rust/issues/63959) |
| 20 | + |
| 21 | +- [@cjgillot] replaced a lot of TypeFoldable impls with a derive [#66384](https://github.com/rust-lang/rust/pull/66384) |
| 22 | + |
| 23 | +- The Infra team has finished evaluating GitHub Actions and we're switching! |
| 24 | + - This will have a signficant, positive impact on CI build time. |
| 25 | + |
| 26 | +- [@centril] is fixing useless `<std macros>` spans [#66364](https://github.com/rust-lang/rust/pull/66364) |
| 27 | + |
| 28 | +## Working group sync |
| 29 | + |
| 30 | +This week we heard from three working groups because we ran out of time in the previous meeting. |
| 31 | + |
| 32 | +### [wg-polonius](https://rust-lang.github.io/compiler-team/working-groups/polonius/) |
| 33 | + |
| 34 | +- Made a lot of progress on the completeness goals with move/initialization errors and subset errors both getting close to completion. |
| 35 | + |
| 36 | +- Fixed the last failure in the rustc test suite. |
| 37 | + - There are still the same 2 OOMs as last time, we haven't had much time to look at those yet. |
| 38 | + |
| 39 | +- Made diagnostics output match NLL in a lot more cases. |
| 40 | + |
| 41 | +- Did some cleanup in our terminology by picking better names for our atoms hopefully making it clearer in the process, and more work is planned here. |
| 42 | + - "origin" instead of "region" |
| 43 | + - "path" instead of "MovePath" |
| 44 | + |
| 45 | +- There is a [polonius book](https://rust-lang.github.io/polonius/) now! It's sparse at the moment but more documentation work is in-flight and planned. |
| 46 | + |
| 47 | +- The exploration and prototype on the rules offering more flow-sensitive precision for the analysis has also progressed a lot. |
| 48 | + |
| 49 | +- There's also been some refactoring, and quite a bit of work on performance. Since the latter can step on the other work and vice-versa, we decided to focus on completeness first, and then after that has been achieved, re-adapt and land the optimization work. |
| 50 | + |
| 51 | +- [@nikomatsakis] did a presentation on Polonius at RustBelt Rust. [Slides](https://nikomatsakis.github.io/rust-belt-rust-2019/) |
| 52 | + |
| 53 | +- [@albins] has finished their master's thesis and is currently rewriting most of the [draft](https://rust-lang.zulipchat.com/user_uploads/4715/ufu5BGNrkzVbV8FtkK3Tco6M/Albins-Thesis-draft-version.pdf). |
| 54 | + |
| 55 | +- We hope to have a "polonius work week" at the end of November to push the in-progress work over the finish line together. |
| 56 | + |
| 57 | +### [wg-self-profile](https://rust-lang.github.io/compiler-team/working-groups/self-profile/) |
| 58 | + |
| 59 | +- We've nearly completed our long standing MVP goal! |
| 60 | + - [@simulacrum] has done some nice work to polish the integration with perf.rlo |
| 61 | + - We've added tracking for all the events we're aware of that should be traced with the exception of trait selection. |
| 62 | + - We could really use some input as to what would be helpful to track! |
| 63 | + |
| 64 | +- [@mw] has been working on some changes to the binary format we record events in. |
| 65 | + - The new format is more compact so results in a smaller trace file and hopefully less runtime overhead. |
| 66 | + - The new format is also more amenable to recording query keys, which is a highly requested feature. |
| 67 | + |
| 68 | +- [@wesleywiser] has added some crate level docs to make getting into the code easier. |
| 69 | + |
| 70 | +- [@wesleywiser] also added code to record process id, start time, and arguments to the trace file which we've started using. |
| 71 | + |
| 72 | +- [@andjo403] has been a roll with a lot of great PRs! |
| 73 | + - We now have a dedicated tool for generating flamegraphs directly so you don't have to use the Perl scripts anymore. |
| 74 | + - Some internal refactoring that makes adding new tools easier. |
| 75 | + - Lots of work on the Chromium dev tools exporter: |
| 76 | + - New option to collapse disjoint threads so it's a little more manageable |
| 77 | + - New option to filter out small events under a configurable threshold (necessary for very large compilations) |
| 78 | + - You can now have multiple crate compilations in the same export file. This is similar to what cargo build -Z timings can do but much more detailed. |
| 79 | + |
| 80 | +### [wg-rls-2.0](https://rust-lang.github.io/compiler-team/working-groups/rls-2.0/) |
| 81 | + |
| 82 | +- Work is procedding on splitting core of rust-analyzer into crates. |
| 83 | + |
| 84 | +- Find usages is implemented. |
| 85 | + |
| 86 | +- Macro expansion now can map source ranges to expanded ranges, so goto def correctly goes "inside" macro call. |
| 87 | + |
| 88 | +- More chalk an type inference work, specifically, support for closures. |
| 89 | + |
| 90 | +- There's ongoing discussion about the general planning about rustc, rls, and rust-analyzer. |
| 91 | + |
| 92 | +[@cjgillot]: https://github.com/cjgillot |
| 93 | +[@centril]: https://github.com/centril |
| 94 | +[@nikomatsakis]: https://github.com/nikomatsakis |
| 95 | +[@albins]: https://github.com/albins |
| 96 | +[@simulacrum]: https://github.com/mark-simulacrum |
| 97 | +[@mw]: https://github.com/michaelwoerister |
| 98 | +[@wesleywiser]: https://github.com/wesleywiser |
| 99 | +[@andjo403]: https://github.com/andjo403 |
0 commit comments