owned this note
owned this note
Published
Linked with GitHub
---
tags: weekly, rustc
---
# T-compiler Meeting Agenda 2023-07-06
## Announcements
- Next week July, 13th release of stable 1.71 :loudspeaker:
- [[Types team] Formality testing sync](https://www.google.com/calendar/event?eid=MWowN2NydTBqbGpvaXI5OTVvcWptcW9mdXJfMjAyMzA3MDVUMTMwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-05T09:00:00-04:00>
- [wg-async: Sprint planning](https://www.google.com/calendar/event?eid=N211N3RrYzVqcnVvNnBycGFrcW9mcjNocTNfMjAyMzA3MDZUMTYwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-06T12:00:00-04:00>
- [AFIT/RPITIT Impl Triage](https://www.google.com/calendar/event?eid=N2VsaWszdm9rY3NhdDF1MjdyMjVqajNpcWVfMjAyMzA3MDZUMjAwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-06T16:00:00-04:00>
- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let the Core team know (or at least message @_**pnkfelix** or @_**Wesley Wiser** so we can pass it along).
### Other WG meetings ([calendar link](https://calendar.google.com/calendar/embed?src=6u5rrtce6lrtv07pfi3damgjus%40group.calendar.google.com))
- [Types team meeting: early vs late regions](https://www.google.com/calendar/event?eid=MTg3MDhpdTc3YXBqMGMzbnNxanUwdWZnazhfMjAyMzA3MTBUMTQwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-10T10:00:00-04:00>
- [[Types] Rotating new solver / formality / polonius deep dive](https://www.google.com/calendar/event?eid=N29vMXZqbGZ1MDIxbzllMDI3dGhocWhhZmNfMjAyMzA3MTBUMTUwMDAwWiA2dTVycnRjZTZscnR2MDdwZmkzZGFtZ2p1c0Bn) at <time:2023-07-10T11:00:00-04:00>
## MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- "Migrate away from u32 as an offset/length type" [compiler-team#647](https://github.com/rust-lang/compiler-team/issues/647)
- Old MCPs (not seconded, take a look)
- "2024: Decrease debuginfo generated by `-Cdebuginfo=1`" [compiler-team#613](https://github.com/rust-lang/compiler-team/issues/613) (last review activity: 2 months ago)
- "Cell Broadband Engine SPU support" [compiler-team#614](https://github.com/rust-lang/compiler-team/issues/614) (last review activity: 2 months ago)
- "Revise error code documentation standard" [compiler-team#615](https://github.com/rust-lang/compiler-team/issues/615) (last review activity: 2 months ago)
- "Add support for Zephyr OS" [compiler-team#629](https://github.com/rust-lang/compiler-team/issues/629) (last review activity: about 14 days ago)
- "Consistently use "region" terminology in later stages of the compiler" [compiler-team#634](https://github.com/rust-lang/compiler-team/issues/634) (last review activity: about 41 days ago)
- "Add a new `--build-id` flag to rustc" [compiler-team#635](https://github.com/rust-lang/compiler-team/issues/635) (last review activity: about 41 days ago)
- "Simplify and improve explicitness of the check-cfg syntax" [compiler-team#636](https://github.com/rust-lang/compiler-team/issues/636) (last review activity: about 22 days ago)
- "[MCP] proposing a macros working group" [compiler-team#637](https://github.com/rust-lang/compiler-team/issues/637) (last review activity: about 20 days ago)
- "Add support for visionOS targets" [compiler-team#642](https://github.com/rust-lang/compiler-team/issues/642) (last review activity: about 6 days ago)
- "Add illumos Tier3 targets" [compiler-team#644](https://github.com/rust-lang/compiler-team/issues/644) (last review activity: about 6 days ago)
- "Changes to StatementKind::Coverage" [compiler-team#645](https://github.com/rust-lang/compiler-team/issues/645) (last review activity: about 6 days ago)
- Pending FCP requests (check your boxes!)
- "Retire the mailing list and make all decisions on zulip" [compiler-team#649](https://github.com/rust-lang/compiler-team/issues/649#issuecomment-1618781780)
- "Tracking issue for the `thiscall` calling convention" [rust#42202](https://github.com/rust-lang/rust/issues/42202#issuecomment-1616187726)
- "Add documentation on v0 symbol mangling." [rust#97571](https://github.com/rust-lang/rust/pull/97571#issuecomment-1617734630)
- "Support overriding `warnings` level for a specific lint via command line" [rust#113307](https://github.com/rust-lang/rust/pull/113307#issuecomment-1621305927)
- Things in FCP (make sure you're good with it)
- "Add a blanket flag to enable/disable codegen UB checks" [compiler-team#625](https://github.com/rust-lang/compiler-team/issues/625)
- "Report all lints, even if other errors already occurred." [compiler-team#633](https://github.com/rust-lang/compiler-team/issues/633)
- "Use `FieldIdx` all the way down" [compiler-team#639](https://github.com/rust-lang/compiler-team/issues/639)
- "Add support for the riscv64-linux-android target" [compiler-team#640](https://github.com/rust-lang/compiler-team/issues/640)
- "Implement alignment and size niches for references" [compiler-team#641](https://github.com/rust-lang/compiler-team/issues/641)
- "KRabcake SANitization (KRSAN) mode" [compiler-team#646](https://github.com/rust-lang/compiler-team/issues/646)
- "Drop MIPS to tier 3" [compiler-team#648](https://github.com/rust-lang/compiler-team/issues/648)
- Accepted MCPs
- "Disallow incoherent cfgs" [compiler-team#610](https://github.com/rust-lang/compiler-team/issues/610)
- "Runtime checks for occupied niches" [compiler-team#624](https://github.com/rust-lang/compiler-team/issues/624)
- "Add `mips64r6` and `mips32r6` options to `target_arch`" [compiler-team#632](https://github.com/rust-lang/compiler-team/issues/632)
- "Assign maintainers for MIPS R6 targets" [compiler-team#638](https://github.com/rust-lang/compiler-team/issues/638)
- Finalized FCPs (disposition merge)
- "rustdoc: Allow whitespace as path separator like double colon" [rust#108537](https://github.com/rust-lang/rust/pull/108537)
- "Add `internal_features` lint" [rust#108955](https://github.com/rust-lang/rust/pull/108955)
- "style-guide: Add chapter about formatting for nightly-only syntax" [rust#111119](https://github.com/rust-lang/rust/pull/111119)
- "Don't require associated types with Self: Sized bounds in `dyn Trait` objects" [rust#112319](https://github.com/rust-lang/rust/pull/112319)
### WG checkins
@_*WG-llvm* by @**nagisa** and @**Nikita Popov**([previous checkin](https://hackmd.io/jG2Ea1RxQJuQye5kIiiHkA#WG-checkins)):
> * LLVM 17 branches in about three weeks, which is when we'll start with the update in Rust as well.
> * After much nagging from T-opsem, we've changed getelementptr inbounds semantics to always allow zero offsets.
> * cbeuw has been fuzzing Rust and finding lots of miscompiles on the LLVM side, which I've been working on fixing.
Types team by @**nikomatsakis** and @**Jack Huey** ([previous checkin](https://hackmd.io/8Wy81OhVQ06VG2px9R1eSA#WG-checkins)):
> Progress continues. We've set up a weekly "solver meeting", essentially a deep dive into the new trait solver, a-mir-formality, polonius, etc. Also planning to have an in-person meetup around EuroRust.
## Backport nominations
[T-compiler stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-compiler) / [T-compiler beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-compiler)
- :beta: [1.71? 1.72?] "Fix `dropping_copy_types` lint from linting in match-arm with side-effects" [rust#113231](https://github.com/rust-lang/rust/pull/113231)
- nominated by @**Urgau**
- :beta: [1.72.0?] "Revert the lexing of `c"…"` string literals" [rust#113334](https://github.com/rust-lang/rust/pull/113334)
- open for review from @**Michael Goulet (compiler-errors)**
- fixes #113235 a P-medium regression
<!--
/poll Approve beta backport of #113334?
approve
decline
don't know
-->
- No stable nominations for `T-compiler` this time.
[T-rustdoc stable](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Abeta-nominated+-label%3Abeta-accepted+label%3AT-rustdoc) / [T-rustdoc beta](https://github.com/rust-lang/rust/issues?q=is%3Aall+label%3Astable-nominated+-label%3Astable-accepted+label%3AT-rustdoc)
- No beta nominations for `T-rustdoc` this time.
- No stable nominations for `T-rustdoc` this time.
:back: / :shrug: / :hand:
## PRs S-waiting-on-team
[T-compiler](https://github.com/rust-lang/rust/pulls?q=is%3Aopen+label%3AS-waiting-on-team+label%3AT-compiler)
- Issues [in progress or waiting on other teams](https://hackmd.io/XYr1BrOWSiqCrl8RCWXRaQ)
## Issues of Note
### Short Summary
- [0 T-compiler P-critical issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical)
- [0 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-critical+no%3Aassignee)
- [59 T-compiler P-high issues](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high)
- [26 of those are unassigned](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AT-compiler+label%3AP-high+no%3Aassignee)
- [0 P-critical, 0 P-high, 2 P-medium, 1 P-low regression-from-stable-to-beta](https://github.com/rust-lang/rust/labels/regression-from-stable-to-beta)
- [0 P-critical, 0 P-high, 2 P-medium, 2 P-low regression-from-stable-to-nightly](https://github.com/rust-lang/rust/labels/regression-from-stable-to-nightly)
- [0 P-critical, 34 P-high, 100 P-medium, 19 P-low regression-from-stable-to-stable](https://github.com/rust-lang/rust/labels/regression-from-stable-to-stable)
### P-critical
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-compiler)
- No `P-critical` issues for `T-compiler` at this time.
[T-types](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-types)
- No `P-critical` issues for `T-types` at this time.
[T-rustdoc](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AP-critical+label%3AT-rustdoc)
- No `P-critical` issues for `T-rustdoc` at this time.
### P-high regressions
[P-high beta regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-beta+label%3AP-high+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core)
- No `P-high` beta regressions this time.
[Unassigned P-high nightly regressions](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3Aregression-from-stable-to-nightly+label%3AP-high+no%3Aassignee+-label%3AT-infra+-label%3AT-libs+-label%3AT-libs-api+-label%3AT-release+-label%3AT-rustdoc+-label%3AT-core+)
- No unassigned `P-high` nightly regressions this time.
## Performance logs
> [triage logs for 2023-07-04](https://github.com/rust-lang/rustc-perf/blob/master/triage/2023-07-04.md)
A quiet week, with a mixed set of improvements and regressions. Overall
slightly more improvements than regressions.
Triage done by **@simulacrum**.
Revision range: [b5e51db16dfbf5685e32dfe2d9a835a5c695afe4..52d8c490a3aabe65cdd9f2d3aed95034dd5dbad7](https://perf.rust-lang.org/?start=b5e51db16dfbf5685e32dfe2d9a835a5c695afe4&end=52d8c490a3aabe65cdd9f2d3aed95034dd5dbad7&absolute=false&stat=instructions%3Au)
**Summary**:
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 1.1% | [0.3%, 2.8%] | 46 |
| Regressions (secondary) | 1.5% | [0.4%, 6.9%] | 71 |
| Improvements (primary) | -2.0% | [-4.2%, -0.5%] | 7 |
| Improvements (secondary) | -2.5% | [-7.3%, -0.3%] | 7 |
| All (primary) | 0.7% | [-4.2%, 2.8%] | 53 |
2 Regressions, 3 Improvements, 2 Mixed; 0 of them in rollups
51 artifact comparisons made in total
#### Regressions
Backtrace 0.3.68 [#113176](https://github.com/rust-lang/rust/pull/113176) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=839e9a6e1210934fd24b15548b811a97c77138fc&end=571c9fc8a9693bb75822d7b46a8d3bed0388e925&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 2.2% | [1.8%, 2.6%] | 12 |
| Regressions (secondary) | 1.6% | [0.3%, 6.8%] | 38 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | -2.1% | [-2.1%, -2.1%] | 1 |
| All (primary) | 2.2% | [1.8%, 2.6%] | 12 |
Appears to be due to increases in binary size, leading to longer link times.
Rewrite `UnDerefer` [#112882](https://github.com/rust-lang/rust/pull/112882) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=571c9fc8a9693bb75822d7b46a8d3bed0388e925&end=d5a74249c843e06b502fb097ebea2383b9a5d9b8&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:----:|:------------:|:-----:|
| Regressions (primary) | 0.7% | [0.3%, 1.5%] | 26 |
| Regressions (secondary) | 1.1% | [0.2%, 1.9%] | 21 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | 0.7% | [0.3%, 1.5%] | 26 |
[Another rewrite](https://github.com/rust-lang/rust/pull/113316) is pending
which is expected to help resolve the regression.
#### Improvements
A mish-mash of micro-optimizations [#113116](https://github.com/rust-lang/rust/pull/113116) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=330727467b8fdf2c43b95095a0efae7012c4f83b&end=8aed93d912ec23819c08e9a89ca1fb461b3cd2e6&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.8% | [-1.7%, -0.3%] | 16 |
| Improvements (secondary) | -1.4% | [-2.3%, -0.8%] | 15 |
| All (primary) | -0.8% | [-1.7%, -0.3%] | 16 |
Make simd_shuffle_indices use valtrees [#112718](https://github.com/rust-lang/rust/pull/112718) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=be6e38c617d39b3b1e9ac8a3fe606cb5d72ca6af&end=72b21014344fe5a595270c951d5a15887f9c7992&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -0.4% | [-0.5%, -0.4%] | 3 |
| Improvements (secondary) | - | - | 0 |
| All (primary) | -0.4% | [-0.5%, -0.4%] | 3 |
cargo update [#113046](https://github.com/rust-lang/rust/pull/113046) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=bf0e22b298e282dec3589f70c67e401588d6c693&end=839e9a6e1210934fd24b15548b811a97c77138fc&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | - | - | 0 |
| Regressions (secondary) | - | - | 0 |
| Improvements (primary) | -1.1% | [-2.0%, -0.4%] | 119 |
| Improvements (secondary) | -0.9% | [-1.6%, -0.2%] | 48 |
| All (primary) | -1.1% | [-2.0%, -0.4%] | 119 |
#### Mixed
Refactor metadata emission to avoid visiting HIR [#98867](https://github.com/rust-lang/rust/pull/98867) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=eb76764ea412b36f670564f5d58c317cec8fa496&end=5bd28f5eac1ba3569bfa8d49ec3f5acbdfdff7a0&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 0.8% | [0.5%, 0.9%] | 7 |
| Regressions (secondary) | 1.0% | [0.2%, 2.3%] | 19 |
| Improvements (primary) | -2.1% | [-3.9%, -0.8%] | 6 |
| Improvements (secondary) | -4.4% | [-7.2%, -1.5%] | 2 |
| All (primary) | -0.5% | [-3.9%, 0.9%] | 13 |
Upgrade to indexmap 2.0.0 [#113304](https://github.com/rust-lang/rust/pull/113304) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0130c3a06e50ebb166655f81997ce28b9e4029b0&end=52d8c490a3aabe65cdd9f2d3aed95034dd5dbad7&stat=instructions:u)
| (instructions:u) | mean | range | count |
|:------------------------:|:-----:|:--------------:|:-----:|
| Regressions (primary) | 0.8% | [0.4%, 1.2%] | 20 |
| Regressions (secondary) | 0.7% | [0.3%, 1.2%] | 16 |
| Improvements (primary) | - | - | 0 |
| Improvements (secondary) | -0.6% | [-0.6%, -0.5%] | 4 |
| All (primary) | 0.8% | [0.4%, 1.2%] | 20 |
## Nominated Issues
[T-compiler](https://github.com/rust-lang/rust/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- "Consistently use the highest bit of vector masks when converting to i1 vectors" [rust#104693](https://github.com/rust-lang/rust/pull/104693)
- issue nominated by @**nils (Nilstrieb)** to help find a reviewer for these changes (review assignment has been bounced a few times)
- "Put `needs-triage` label on every new issue" [rust#113261](https://github.com/rust-lang/rust/issues/113261)
- Proposal advanced by @**nils (Nilstrieb)**, asks opinion from teams
[RFC](https://github.com/rust-lang/rfcs/issues?q=is%3Aopen+label%3AI-compiler-nominated)
- No I-compiler-nominated RFCs this time.
### Oldest PRs waiting for review
- "`-Z trait-solver=next`: Deduplicate region constraints in query responses" [rust#111172](https://github.com/rust-lang/rust/pull/111172) (last review activity: about 52 days ago)
- cc: @**lcnr**
- "Only consider places with the same local in each_borrow_involving_path." [rust#111753](https://github.com/rust-lang/rust/pull/111753) (last review activity: about 48 days ago)
- cc: @**eholk**
- "Fix #[inline(always)] on closures with target feature 1.1" [rust#111836](https://github.com/rust-lang/rust/pull/111836) (last review activity: about 45 days ago)
- cc: @**Jubilee**
- "Simplify duplicate checks for mir validator" [rust#111917](https://github.com/rust-lang/rust/pull/111917) (last review activity: about 41 days ago)
- cc: @**oli**
## Next week's WG checkins
- @_*WG-mir-opt* by @**oli**
- @_*WG-polymorphization* by @**davidtwco**