T-compiler Meeting Agenda 2024-02-08
Announcements
- Today Rust stable 1.76 is out :top_hat: :rabbit: Blog post
- Announcement: experts/interested in C++/Rust interop might be interested to take part to the new initiative meant to work on long term goals in this area (Zulip thread). Funding provided by Google, blog post of the Foundation.
- Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @davidtwco or @Wesley Wiser so we can pass it along).
Other WG meetings
- Types Team: ITE (Impl Trait Everywhere) Triage Types Team: ITE (Impl Trait Everywhere) Triage time:2024-02-08T22:00:00+01:00
- Types Team: Rotating Solver/Formality/Polonius Deep Dive time:2024-02-12T17:00:00+01:00
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- “Use debug fission instead of dwarf split debuginfo for -Csplit-debuginfo=packed” compiler-team#721 (Zulip)
- Old MCPs (stale MCP might be closed as per MCP procedure)
- None at this time
- Old MCPs (not seconded, take a look)
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: about 22 days ago)
- concern: added-complexity-to-frontend
- “Introduce perma-unstable
wasm-c-abi
flag” compiler-team#703 (Zulip) (last review activity: about 55 days ago) - “Support patchable-function-entry” compiler-team#704 (Zulip) (last review activity: about 55 days ago)
- “Target families for executable format” compiler-team#716 (Zulip) (last review activity: about 6 days ago)
- “Promote tier 3 arm64e-apple-darwin target to tier 2” compiler-team#717 (Zulip) (last review activity: about 6 days ago)
- “Add
--emit=
to emit nothing” compiler-team#718 (Zulip) (last review activity: about 6 days ago)
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: about 22 days ago)
- Pending FCP requests (check your boxes!)
- “Add a new
--build-id
flag to rustc” compiler-team#635 (Zulip)- concern: other-existing-options
- concern: option-name
- “Retire the mailing list and make all decisions on zulip” compiler-team#649 (Zulip)
- concern: automatic-sync
- concern: single-point-of-failure-via-stream-archival
- “Stabilize
--json=unused-externs(-silent)
” compiler-team#674 (Zulip) - “Support overriding
warnings
level for a specific lint via command line” rust#113307 - “Update Windows platform support” rust#115141
- “Stabilize Wasm target features that are in phase 4 and 5” rust#117457
- “Stabilize
--env-set
option” rust#119926
- “Add a new
- Things in FCP (make sure you’re good with it)
- “Add a stable flag to enable/disable codegen UB checks” compiler-team#625 (Zulip)
- “Stabilize
--json=unused-externs(-silent)
” compiler-team#674 (Zulip) - “Semantics of
-Cinstrument-coverage=all
” compiler-team#690 (Zulip) - “New Tier-3 target:
wasm32-wasi-preview2
” compiler-team#694 (Zulip) - “Provide option to shorten symbol names by replacing them with a digest” compiler-team#705 (Zulip)
- “uplift some -Zverbose calls and rename to -Zverbose-internals” compiler-team#706 (Zulip)
- “Promote tier 3
*-pc-windows-gnullvm
targets to tier 2” compiler-team#710 (Zulip) - “Unstably support MIR-only rlibs” compiler-team#713 (Zulip)
- “Promote OpenHarmony targets to tier 2” compiler-team#719 (Zulip)
- “Remove fake
rust-intrinsic
ABI” compiler-team#720 (Zulip) - “Overhaul
Diagnostic
andDiagnosticBuilder
" compiler-team#722 (Zulip)
- Accepted MCPs
- “Add -Z direct-access-external-data” compiler-team#707 (Zulip)
- Finalized FCPs (disposition merge)
- “Decision: semantics of the
#[expect]
attribute” rust#115980 - “style-guide: Format single associated type
where
clauses on the same line” rust#119515 - “style-guide: When breaking binops handle multi-line first operand better” rust#119838
- “style-guide: Tweak
Cargo.toml
formatting to not putdescription
last” rust#120072 - “Make it so that async-fn-in-trait is compatible with a concrete future in implementation” rust#120103
- “Decision: semantics of the
WG checkins
-
@_WG-llvm by @nagisa and @Nikita Popov (previous checkin):
We have an ongoing update to LLVM 18, which will land soon(TM) and has some nice perf results.
-
@_WG-mir-opt by @oli:
I did not track updates this cycle.
Backport nominations
T-compiler beta / T-compiler stable
- :beta: “Correctly check
never_type
feature gating” rust#120552- Fixes p-high #120542, the never_type
!
slipped out of the feaature gate. - nominated by Michael (comment) in case it doesn’t make it to 1.77
- By reading the milestone (1.78), unsure if it made it
- Fixes p-high #120542, the never_type
- No stable nominations for
T-compiler
this time.
- No beta nominations for
T-types
this time. - No stable nominations for
T-types
this time.
PRs S-waiting-on-team
- “Stabilize
cfg_target_abi
” rust#119590- what is this waiting on a team for? (cc @Jubilee)
- Other issues in progress or waiting on other teams. Note: a few of them are
I-lang-nominated
(cc @pnkfelix )
Issues of Note
Short Summary
- 0 T-compiler P-critical issues
- 60 T-compiler P-high issues
- 0 P-critical, 1 P-high, 1 P-medium, 0 P-low regression-from-stable-to-beta
- 0 P-critical, 0 P-high, 3 P-medium, 2 P-low regression-from-stable-to-nightly
- 0 P-critical, 38 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable
P-critical
- No
P-critical
issues forT-compiler
this time.
- No
P-critical
issues forT-types
this time.
P-high regressions
- No
P-high
beta regressions this time.
Unassigned P-high nightly regressions
- No unassigned
P-high
nightly regressions this time.
Performance logs
Rust’s CI was down most of the week, leading to a much smaller collection of commits than usual.
Triage done by @simulacrum. Revision range: 5c9c3c7871d603ba13d38372830eca0c9013e575..0984becf01112cbd3583c796541760b65340c8db
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.3% | [0.2%, 0.3%] | 3 |
Improvements (primary) | -0.3% | [-0.7%, -0.2%] | 7 |
Improvements (secondary) | -0.6% | [-1.0%, -0.5%] | 7 |
All (primary) | -0.3% | [-0.7%, -0.2%] | 7 |
0 Regressions, 2 Improvements, 1 Mixed; 1 of them in rollups 17 artifact comparisons made in total
Regressions
- None this week.
Improvements
Normalize region obligation in lexical region resolution with next-gen solver #119101 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.2% | [-0.3%, -0.2%] | 4 |
Improvements (secondary) | - | - | 0 |
All (primary) | -0.2% | [-0.3%, -0.2%] | 4 |
hir: Refactor getters for owner nodes #120346 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -3.6% | [-3.6%, -3.6%] | 1 |
Improvements (secondary) | -0.6% | [-1.0%, -0.5%] | 7 |
All (primary) | -3.6% | [-3.6%, -3.6%] | 1 |
Mixed
Rollup of 9 pull requests #120660 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.8% | [0.2%, 1.4%] | 2 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -0.2% | [-0.3%, -0.2%] | 2 |
All (primary) | 0.8% | [0.2%, 1.4%] | 2 |
Needs further investigation. This just landed so it’s hard to say whether the regressions are noise or not. Kicked off another run on the PR to see if that helps.
Nominated Issues
- No I-compiler-nominated issues this time.
- No I-compiler-nominated RFCs this time.
Oldest PRs waiting for review
- “Add rustc_intrinsic_const_vector_arg attribute to allow vectors to be passed as constants” rust#118980
- cc Wesley
- “tidy watcher” rust#114209
- Wesley autoassigned (but in case we can re-roll)
- “Fix type resolution of associated const equality bounds (take 2)” rust#119385
- cc @Michael Goulet (compiler-errors) (though PR author is fine with waiting a bit)
Next week’s WG checkins
- @_T-rust-analyzer by @Lukas Wirth
Next meetings' agenda draft: hackmd link