T-compiler Meeting Agenda 2024-09-12
Announcements
- 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-12T22: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-13T17:00:00+01:00
- wg-macros triage meeting Zulip (https://rust-lang.zulipchat.com/#narrow/stream/410876-wg-macros.2Ftriage) time:2024-09-13T18:00:00+01:00
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- “-Z default-visibility option” compiler-team#782 (Zulip)
- 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: about 6 days ago)
- “Opt-in flag for absolute paths in diagnostics” compiler-team#770 (Zulip) (last review activity: about 27 days ago)
- “Add
evex512
target feature for AVX10” compiler-team#778 (Zulip) (last review activity: about 6 days ago) - “mark some target features as ‘forbidden’ so they cannot be (un)set with -Ctarget-feature” compiler-team#780 (Zulip) (last review activity: about 6 days ago)
- Pending FCP requests (check your boxes!)
- “Add a new
--orchestrator-id
flag to rustc” compiler-team#635 (Zulip)- Author updated proposal trying to address concerns (cc: @Wesley Wiser @Vadim Petrochenkov )
- concern: other-existing-options
- concern: option-name
- “sanitizers: Stabilize AddressSanitizer and LeakSanitizer for the Tier 1 targets” rust#123617
- “Add
--print host-triple
to print host target triple” rust#125579 - “make unsupported_calling_conventions a hard error” rust#129935
- “Add a new
- 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) - “Test rule annotations” compiler-team#783 (Zulip)
- “const-eval interning: accept interior mutable pointers in final value” rust#128543
- “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: about 7 days ago)
- concern: added-complexity-to-frontend
- “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: about 7 days ago)
- Finalized FCPs (disposition merge)
- None
- Other teams finalized FCPs
- “Proposal: stabilize
const_refs_to_static
” rust#128183 - “Check WF of source type’s signature on fn pointer cast” rust#129021
- “Make destructors on
extern "C"
frames to be executed” rust#129582
- “Proposal: stabilize
WG checkins
None
Backport nominations
T-compiler beta / T-compiler stable
- :beta:“Don’t warn empty branches unreachable for now” rust#129103
- Authored by Nadrieril
- Disable some linting until the 2024 edition, or code’s MSRV is ≥ 1.82
- Closes #129031, changes RFC’d by T-lang (comment)
- 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
Issues of Note
Short Summary
- 1 T-compiler P-critical issues
- 66 T-compiler P-high issues
- 0 P-critical, 1 P-high, 3 P-medium, 0 P-low regression-from-stable-to-beta
- 1 P-critical, 0 P-high, 5 P-medium, 3 P-low regression-from-stable-to-nightly
- 0 P-critical, 36 P-high, 100 P-medium, 17 P-low regression-from-stable-to-stable
P-critical
- “core::iter::repeat_n is unsound with Box” rust#130141
- Should be closed by #130145 authored by @fee1-dead, PR being reviewed
- “Regression in nightly-2024-09-07: hang affecting
nalgebra
” rust#130056- Under @lcnr scrutiny (comment) (thanks!)
- Meanwhile @Michael Goulet (compiler-errors) suggests reverting the stabilization of
-Znext-solver=coherence
#130249
P-high regressions
- “regression: overflow evaluating the requirement” rust#128887
- #129073 in final comment period (commentx)
Unassigned P-high nightly regressions
- No unassigned
P-high
nightly regressions this time.
Performance logs
A relatively quiet week with a majority of regressions coming in rollups which makes investigation more difficult. Luckily the regressions are relatively small and overall the week was a slight improvement in compiler performance.
Triage done by @rylev. Revision range: 6199b69c..263a3aee
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.2%, 1.4%] | 57 |
Regressions ❌ (secondary) | 0.7% | [0.2%, 1.5%] | 23 |
Improvements ✅ (primary) | -2.2% | [-4.0%, -0.4%] | 23 |
Improvements ✅ (secondary) | -0.3% | [-0.3%, -0.2%] | 10 |
All ❌✅ (primary) | -0.2% | [-4.0%, 1.4%] | 80 |
3 Regressions, 1 Improvement, 2 Mixed; 3 of them in rollups 26 artifact comparisons made in total
Regressions
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 |
- Noise
Update x86_64-linux host compiler to LLVM 19 rc 3 #129356 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.5% | [0.2%, 0.8%] | 34 |
Regressions ❌ (secondary) | 2.6% | [0.5%, 5.7%] | 6 |
Improvements ✅ (primary) | -0.4% | [-0.4%, -0.4%] | 1 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.5% | [-0.4%, 0.8%] | 35 |
- “Looks like this update is a very mild regression, but not enough to look into it in more detail, or skip this version.”
Rollup of 10 pull requests #130091 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.9% | [0.3%, 1.7%] | 13 |
Regressions ❌ (secondary) | 0.8% | [0.2%, 1.3%] | 14 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.9% | [0.3%, 1.7%] | 13 |
- Regressions are happening in
expand_crate
so testing a change that touchedrustc_expand
Improvements
Use DeepRejectCtxt
to quickly reject ParamEnv
candidates #128776 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -1.8% | [-4.7%, -0.3%] | 17 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -1.8% | [-4.7%, -0.3%] | 17 |
Mixed
Rollup of 10 pull requests #129978 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.3%, 0.5%] | 4 |
Regressions ❌ (secondary) | 0.4% | [0.4%, 0.4%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -3.1% | [-3.1%, -3.1%] | 1 |
All ❌✅ (primary) | 0.4% | [0.3%, 0.5%] | 4 |
- The regressions here are small enough that I don’t think it’s worth investigating further.
stabilize -Znext-solver=coherence
#121848 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.2%, 0.6%] | 11 |
Regressions ❌ (secondary) | 1.1% | [0.4%, 5.1%] | 8 |
Improvements ✅ (primary) | -3.4% | [-4.2%, -2.8%] | 7 |
Improvements ✅ (secondary) | -0.3% | [-0.3%, -0.2%] | 5 |
All ❌✅ (primary) | -1.1% | [-4.2%, 0.6%] | 18 |
- Mainly noise
Nominated Issues
- None
- No I-compiler-nominated RFCs this time.
Oldest PRs waiting for review
- “Consistently use the highest bit of vector masks when converting to i1 vectors” rust#104693
- cc: @Wesley Wiser
- “add error message for c# style named arguments” rust#118733
- cc: @Esteban Küber
- “Fix bug where
option_env!
would returnNone
when env var is present but not valid Unicode” rust#122670- cc: @lcnr
- “More translatable diagnostics” rust#123822 (last review activity: 5 months ago)
- cc @cjgillot
Next week’s WG checkins
None
Next meeting’s agenda draft: hackmd link