T-compiler Meeting Agenda 2023-01-12
Announcements
- Compiler Team Planning meeting at time:2023-01-13T10:00:00-05: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)
- wg-async weekly at time:2023-01-12T12:00:00-05:00
- wg-rls-2.0 weekly sync-up at time:2023-01-16T10:00:00-05:00
- wg-debugging triage meeting at time:2023-01-16T10:00:00-05:00
- [Types team] Shallow subtyping weekly meeting at time:2023-01-16T10:00:00-05:00
- Async WG triage meeting at time:2023-01-16T11:30:00-05:00
- [wg-traits] GATs Sync at time:2023-01-16T16:00:00-05:00
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- No new proposals this time.
- Stale MCPs (tracked on HackMD. Candidate for closing, see MCP procedure)
- “Add
#[alias]
attribute to allow symbol aliasing” compiler-team#526 (last review activity: 5 months ago)- might be closed as superseded by a T-lang initiative (still to be drafted)
- “Add
- Old MCPs (not seconded, take a look)
- " Promote
i586-unknown-linux-gnu
to Tier 2 with Host Tools " compiler-team#543 (last review activity: 4 months ago) - “Lower baseline expectations for i686 unix-like targets” compiler-team#548 (last review activity: about 19 days ago)
- “configurable rustc timeout for compiletest tests” compiler-team#554 (last review activity: about 0 days ago)
- “Rustc Contributor Program Major Change Proposal” compiler-team#557 (last review activity: about 0 days ago)
- waiting for pilot program completion (see comment)
- “
-Z instrument-xray
option” compiler-team#561 (last review activity: 2 months ago) - “
needs_drop
as an auto trait” compiler-team#575 (last review activity: about 7 days ago)
- " Promote
- Pending FCP requests (check your boxes!)
- “Make
unused_allocation
lint againstBox::new
too” rust#104363 - “Add deployment-target –print flag for Apple targets” rust#105354
- “Make
- Things in FCP (make sure you’re good with it)
- “Upgrade
*-linux-musl
targets to musl 1.2” compiler-team#572 - “New tier-2 target for
wasm32-wasi
+ threads” compiler-team#574 - “Also accept
true
andfalse
on boolean flags” compiler-team#577 - “Store ICE backtraces to disk and point end users at the file location” compiler-team#578
- “Add
SEMICOLON_IN_EXPRESSIONS_FROM_MACROS
to future-incompat report” rust#103418
- “Upgrade
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- “Change
bindings_with_variant_name
to deny-by-default” rust#104154 - “More deriving on packed structs” rust#104429
- “Only include stable lints in
rustdoc::all
group” rust#106316
- “Change
WG checkins
- @_WG-self-profile by @mw and @Wesley Wiser (previous checkin):
No updates from WG-self-profile this rotation.
Backport nominations
T-compiler beta / T-compiler stable
- :beta: “Correct detection of elided lifetimes in impl-trait.” rust#106501
- Fixes #106338, P-critical regression in crater run
- :beta: “Do not filter substs in
remap_generic_params_to_declaration_params
.” rust#106503- Fixes #105826, P-critical regression, PR open, approved by @oli
- :beta: Revert “Make nested RPITIT inherit the parent opaque’s generics. rust#106759
- fixes #106332, manually verified because it had no minimization
- :beta: “Account for opaque variance for region outlives and liveness” rust#106729
- Should fix #106332
- cjgillot did not manage to extract a MCVE, so no test yet.
- No stable nominations for
T-compiler
this time.
T-rustdoc beta / T-rustdoc stable
- No backport nominations for
T-rustdoc
this time.
:back: / :shrug: / :hand:
PRs S-waiting-on-team
- “Remove proc-macro back-compat hack for rental” rust#106060
- visited last week
- MCP discussion is progressing, now T-compiler review has been summoned (rustbot autoassigned @lcnr)
- (other hidden issues in progress or waiting on other teams, details here)
Oldest PRs waiting for review
- “Require
type_map::stub
callers to supply file information” rust#104342 (last review activity: about 49 days ago)- cc @Wesley Wiser
- “Add a note about implicit temporaries on &mut (fn or const)” rust#104857 (last review activity: about 47 days ago)
- cc @oli
- “Refactor unwind in MIR” rust#102906 (last review activity: about 35 days ago)
- seems ready for review, though not 100% sure
- @Wesley Wiser is autoassigned but reviews came from @tm|352985 and @RalfJ - reassign?
- “Calculate diverging fallback cleanups” rust#104926 (last review activity: about 42 days ago)
- cc: @lcnr
- “use implied bounds from impl header when comparing trait and impl methods” rust#105548 (last review activity: about 31 days ago)
- cc @lcnr
Issues of Note
Short Summary
- 3 T-compiler P-critical issues
- 50 T-compiler P-high issues
- 2 P-critical, 2 P-high, 4 P-medium, 0 P-low regression-from-stable-to-beta
- 0 P-critical, 3 P-high, 2 P-medium, 0 P-low regression-from-stable-to-nightly
- 2 P-critical, 28 P-high, 89 P-medium, 8 P-low regression-from-stable-to-stable
P-critical
- “Seg fault in Rust 1.65.0 if I don’t create temporary variable” rust#105295
- also
T-types
- Will be closed by rust#106465: waiting for
T-types
review (comment)
- also
- “regression: non-defining opaque type use in defining scope” rust#105826
- also
T-types
andI-types-nominated
- handled by @cjgillot in rust#106503: waiting for
T-types
review
- also
- “regression: failed to resolve proc macro definition” rust#106337
- unassigned, bisection seems to point to #103760 (cc: @Vadim Petrochenkov )
- mentioned above
- No
P-critical
issues forT-rustdoc
at this time.
P-high regressions
- “Borrow checker error on nightly even when the type is
'static
” rust#106332- @cjgillot self-assigned, originates from #105255
- “Regression in Beta/Nightly: implementation of
Trait
is not general enough” rust#106630- @cjgillot self-assigned, originates also from #105255
Unassigned P-high nightly regressions
- “deref_target_place is not a deref projection” rust#105881
- will be closed by rust#105880 authored by @_BN (PR is being reviewed by @lcnr)
Performance logs
A very quiet week, with few changes in either direction, and none of significant magnitude.
Triage done by @simulacrum. Revision range: b435960c4cfd3975651c7051be56d7f5d6c201ab..0442fbabe24ec43636a80ad1f40a0ad92a2e38df
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 1.2% | [0.5%, 1.9%] | 2 |
Regressions (secondary) | 1.1% | [0.5%, 1.3%] | 10 |
Improvements (primary) | -0.7% | [-1.2%, -0.5%] | 7 |
Improvements (secondary) | -0.5% | [-0.7%, -0.2%] | 7 |
All (primary) | -0.3% | [-1.2%, 1.9%] | 9 |
1 Regressions, 1 Improvements, 3 Mixed; 1 of them in rollups 48 artifact comparisons made in total
Regressions
Rollup of 10 pull requests #106573 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.2%, 0.3%] | 4 |
Regressions (secondary) | 0.5% | [0.3%, 1.0%] | 22 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.3% | [0.2%, 0.3%] | 4 |
Migrating rustc_infer to session diagnostics (part 3) #101936 seems to be the cause of the regression, but no investigation has happened yet.
Improvements
Remove duplicated elaborate box derefs pass #106404 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 1.2% | [1.2%, 1.2%] | 2 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -0.3% | [-0.3%, -0.2%] | 7 |
All (primary) | - | - | 0 |
Single regression is within noise range; improvements are not. Removing perf-regression.
Mixed
Shrink ParseResult
in the hot path. #106416 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 1 |
Improvements (primary) | -0.4% | [-0.5%, -0.3%] | 7 |
Improvements (secondary) | -0.4% | [-0.5%, -0.4%] | 4 |
All (primary) | -0.4% | [-0.5%, -0.3%] | 7 |
Improvements include primary benchmarks and outweigh regressions.
Perform SimplifyLocals before ConstProp. #105323 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.2%, 1.6%] | 4 |
Regressions (secondary) | 0.6% | [0.6%, 0.6%] | 1 |
Improvements (primary) | -0.6% | [-0.8%, -0.5%] | 4 |
Improvements (secondary) | -0.5% | [-0.5%, -0.5%] | 1 |
All (primary) | 0.0% | [-0.8%, 1.6%] | 8 |
Regressions did not occur in a pre-merge run, asked whether changes made after it could have led to the regressions.
Don’t normalize in AstConv #101947 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.1% | [0.1%, 0.1%] | 1 |
Regressions (secondary) | 0.2% | [0.2%, 0.2%] | 3 |
Improvements (primary) | -1.0% | [-1.0%, -1.0%] | 1 |
Improvements (secondary) | -0.8% | [-0.9%, -0.8%] | 7 |
All (primary) | -0.5% | [-1.0%, 0.1%] | 2 |
Nominated Issues
- No nominated issues for
T-compiler
this time.
- No nominated RFCs for
T-compiler
this time.
Next week’s WG checkins
- Generic Associated Types initiative by @Jack Huey
- @_WG-diagnostics by @Esteban Küber and @oli