T-compiler Meeting Agenda 2024-09-05
Announcements
- Today Rust stable release 1.81. Blog post
- Draft blog post for the election of the Project Directors (PDs): https://github.com/rust-lang/blog.rust-lang.org/blob/fb8299d3dd4d42eb928442115a8a730889c466bb/posts/inside-rust/2024-09-04-electing-new-project-directors.md
- Draft blog post about upcoming changes in WASM targets : https://github.com/rust-lang/blog.rust-lang.org/pull/1385
- Context: https://github.com/rust-lang/rust/pull/128511
- after a cursory review from t-compiler (thanks!), we can set a date for publishing
- 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 time:2024-09-05T22:00:00+01:00
- wg-rust-analyzer steering meeting on Zulip (https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Steering.20meeting) time:2024-09-06T17:00:00+01:00
- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) time:2024-09-06T18:00:00+01:00
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- “Add
evex512
target feature for AVX10” compiler-team#778 (Zulip) - “mark some target features as ‘forbidden’ so they cannot be (un)set with -Ctarget-feature” compiler-team#780 (Zulip)
- “Add
- Old MCPs (stale MCP might be closed as per MCP procedure)
- None at this time
- Old MCPs (not seconded, take a look)
- “Target families for executable format” compiler-team#716 (Zulip) (last review activity: 7 months ago)
- “Add Hotpatch flag” compiler-team#745 (Zulip) (last review activity: 3 months ago)
- “Opt-in flag for absolute paths in diagnostics” compiler-team#770 (Zulip) (last review activity: about 20 days ago)
- Pending FCP requests (check your boxes!)
- “sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets” rust#123617
- “Add
--print host-triple
to print host target triple” rust#125579
- Things in FCP (make sure you’re good with it)
- “Don’t track
--emit=
options as part of crate SVH” compiler-team#769 (Zulip) - “
--hint-msrv=version
option so the compiler can take MSRV into account when linting” compiler-team#772 (Zulip) - “Deprecate
-Csoft-float
” compiler-team#779 (Zulip) - “const-eval interning: accept interior mutable pointers in final value” rust#128543
- “Don’t warn empty branches unreachable for now” rust#129103
- “Don’t track
- Accepted MCPs
- No new accepted proposals this time.
- MCPs blocked on unresolved concerns
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: 7 months ago)
- concern: added-complexity-to-frontend
- “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
- “Add hygiene attributes to compile expanded source code” compiler-team#692 (Zulip) (last review activity: 7 months ago)
- Finalized FCPs (disposition merge)
- None
- Other teams finalized FCPs
- “rustdoc: add header map to the table of contents” rust#120736
- “doc: Make block of inline Deref methods foldable” rust#127474
WG checkins
None
Backport nominations
T-compiler beta / T-compiler stable
- No beta nominations for
T-compiler
this time. - 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
extended_varargs_abi_support
” rust#116161 - “Better errors with bad/missing identifiers in MBEs” rust#118939
- “Uplift
clippy::invalid_null_ptr_usage
lint” rust#119220 - “Rename
AsyncIterator
back toStream
, introduce an AFIT-basedAsyncIterator
trait” rust#119550 - “Disallow deriving (other than Copy/Clone) on types with unnamed fields” rust#121270
- “Emit a warning if a
match
is too complex” rust#122685 - “Add Unicode block-drawing compiler output support” rust#126597
- “Emit error when calling/declaring functions with vectors that require missing target feature” rust#127731
- “[crater] Make
missing_fragment_specifier
an unconditional error” rust#128425 - “repr(int) fieldless enums are ABI-compatible with int” rust#128600
- “
optimize
attribute applied to things other than methods/functions/c…” rust#128943 - “Gate
repr(Rust)
correctly on non-ADT items” rust#129422 - Issues in progress or waiting on other teams
Issues of Note
Short Summary
- 1 T-compiler P-critical issues
- 66 T-compiler P-high issues
- 1 P-critical, 1 P-high, 3 P-medium, 0 P-low regression-from-stable-to-beta
- 0 P-critical, 0 P-high, 5 P-medium, 2 P-low regression-from-stable-to-nightly
- 0 P-critical, 36 P-high, 100 P-medium, 16 P-low regression-from-stable-to-stable
P-critical
- None
- No
P-critical
issues forT-types
this time.
P-high regressions
- SIGTRAP during compilation on MacOS · Issue #129887 · rust-lang/rust
- issue just slipped from nightly to beta. Already fixed upstream in LLVM 19 (comment)
- “regression: overflow evaluating the requirement” rust#128887
- accepted regression, some crates that regressed fixed downstream.
- fixed by #129714 (beta backported) and #129073 (in progress), thus keeping it open for tracking purposes
Unassigned P-high nightly regressions
- No unassigned
P-high
nightly regressions this time.
Performance logs
This week we had some trouble with our performance bot, but luckily the issue has been resolved. In the end, we saw much more improvements than regressions.
Triage done by @kobzol. Revision range: acb4e8b6..6199b69c
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.2%, 0.4%] | 8 |
Regressions ❌ (secondary) | 0.7% | [0.2%, 1.5%] | 9 |
Improvements ✅ (primary) | -0.8% | [-3.4%, -0.2%] | 158 |
Improvements ✅ (secondary) | -0.7% | [-2.3%, -0.2%] | 96 |
All ❌✅ (primary) | -0.7% | [-3.4%, 0.4%] | 166 |
2 Regressions, 3 Improvements, 1 Mixed; 3 of them in rollups 19 artifact comparisons made in total
Regressions
Rollup of 7 pull requests #129750 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.3%, 0.5%] | 7 |
Regressions ❌ (secondary) | 6.0% | [6.0%, 6.0%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.4% | [0.3%, 0.5%] | 7 |
- This was bimodal noise.
Rollup of 8 pull requests #129922 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 5.8% | [5.8%, 5.8%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | - | - | 0 |
- Likely the same story, just with a different benchmark.
- Not marking as triaged yet.
Improvements
Rollup of 15 pull requests #129809 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.3% | [-0.9%, -0.2%] | 21 |
Improvements ✅ (secondary) | -0.7% | [-5.9%, -0.1%] | 18 |
All ❌✅ (primary) | -0.3% | [-0.9%, -0.2%] | 21 |
Revert “Auto merge of #127537 - veluca93:struct_tf, r=BoxyUwU” #129854 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.4% | [-1.1%, -0.2%] | 81 |
Improvements ✅ (secondary) | -0.5% | [-2.2%, -0.2%] | 24 |
All ❌✅ (primary) | -0.4% | [-1.1%, -0.2%] | 81 |
- Revert of an earlier PR that had larger than expected regressions.
- Investigation is ongoing on how to land it without such large regressions.
Apply size optimizations to panic machinery and some cold functions #129063 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.2% | [0.2%, 0.2%] | 2 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -1.2% | [-3.0%, -0.3%] | 16 |
Improvements ✅ (secondary) | -1.0% | [-1.5%, -0.4%] | 4 |
All ❌✅ (primary) | -1.0% | [-3.0%, 0.2%] | 18 |
Mixed
Rewrite lint_expectations in a single pass. #127313 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.3%, 0.4%] | 9 |
Regressions ❌ (secondary) | 0.6% | [0.2%, 1.5%] | 14 |
Improvements ✅ (primary) | -0.5% | [-1.5%, -0.2%] | 82 |
Improvements ✅ (secondary) | -0.7% | [-1.8%, -0.1%] | 58 |
All ❌✅ (primary) | -0.4% | [-1.5%, 0.4%] | 91 |
- More improvements than regressions, marking as triaged.
Nominated Issues
- “Tracking peak total storage use” rust#129808
- nominated by @Jubilee
- Context: last week our CI started to fail due to not having enough storage available
- Questions for all teams:
- Are we aware of past efforts being aware of whether or not we have reduced the size?
- What information is [t-compiler] currently tracking re: size?
- What information would [t-compiler] like to have available re: size?
- “Add Unicode block-drawing compiler output support” rust#126597
- No I-compiler-nominated RFCs this time.
Oldest PRs waiting for review
- “fix: get llvm type of global val” rust#128820 (last review activity: about 21 days ago)
- cc @Nikita Popov
- “Implement a lint for implicit autoref of raw pointer dereference - take 2” rust#123239
- cc: @León Orell Liehr (fmease)
- “Apply
EarlyOtherwiseBranch
to scalar value” rust#129047 (last review activity: about 22 days ago)- cc: @cjgillot
Next week’s WG checkins
None
Next meetings' agenda draft: hackmd link