T-compiler Meeting Agenda 2022-05-12
Announcements
- Next week: release of Rust stable 1.61
- Tomorrow time:2022-05-13T13:00:00+02:00 Types Team: Chalkification calendar link, issue
- 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).
MCPs/FCPs
- New MCPs (take a look, see if you like them!)
- “Replace generic parameter list with separate lists per param kind” compiler-team#515
- Old MCPs (not seconded, take a look)
- “Accept
pc
in place ofunknown
andunknown
in place ofpc
forx86_64
andi?86
targets” compiler-team#441 (last review activity: 10 months ago) - “Make
-Z binary-dep-depinfo
the default behavior” compiler-team#464 (last review activity: 7 months ago) - “Tier 3 target proposal: riscv64gc-linux-android (Android target for
riscv64gc
)” compiler-team#472 (last review activity: 5 months ago) - “
-Dwarnings
to cover all warnings” compiler-team#473 (last review activity: 5 months ago) - “Build-time execution sandboxing” compiler-team#475 (last review activity: 4 months ago)
- “Dealing with type/const ambiguities” compiler-team#480 (last review activity: 3 months ago)
- “Removing codegen logic for
nvptx-nvidia-cuda
(32-bit target)” compiler-team#496 (last review activity: about 54 days ago) - “Change compiletest declarations parsing” compiler-team#512 (last review activity: about 5 days ago)
- “Arbitrary annotations in compiletest” compiler-team#513 (last review activity: about 5 days ago)
- “Accept
- Pending FCP requests (check your boxes!)
- “Stabilize
-Zgcc-ld=lld
as-Clink-self-contained=linker -Clinker-flavor=gcc-lld
” compiler-team#510 - “Tracking issue for Consistent no-prelude attribute (RFC 501)” rust#20561
- “Tracking Issue for
-Z terminal-width
” rust#84673 - “Increase the minimum linux-gnu versions” rust#95026
- “Stabilize the
bundle
native library modifier” rust#95818 - “Remove label/lifetime shadowing warnings” rust#96296
- “Stabilize
- Things in FCP (make sure you’re good with it)
- “Add attribute to run specific tests in an isolated process” compiler-team#508
- “Add an
EarlyBinder
type” compiler-team#514
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- No new finished FCP (disposition merge) this time.
WG checkins
- @_WG-rls2.0 by @matklad (previous checkin)
Checkin text
- @_WG-self-profile by @mw and @Wesley Wiser (previous checkin)
Checkin text
Backport nominations
T-compiler beta / T-compiler stable
- :beta: “Forbid lifetime bounds in nested opaque types in binders” #96970
- PR pushed by @oli to avoid the regression in P-critical rust#96194
T-rustdoc beta / T-rustdoc stable
- No backport nominations for
T-rustdoc
this time.
:back: / :shrug: / :hand:
PRs S-waiting-on-team
- “Stabilize the
bundle
native library modifier” rust#95818- @Vadim Petrochenkov added
I-compiler-nominated
(needs discussion or just team ticking their box?)
- @Vadim Petrochenkov added
Oldest PRs waiting for review
- “Mir-Opt for copying enums with large discrepancies” rust#85158 (last review activity: about 47 days ago)
- pr author asks for comment cc @Wesley Wiser
- “Only tag data if debug assertions are enabled.” rust#95850 (last review activity: about 31 days ago)
- review assigned to
@ghost
(self review cc: @cjgillot?)
- review assigned to
- “Warn about dead tuple struct fields” rust#95977 (last review activity: about 28 days ago)
- previous review from @eddyb
- “Implement #[deprecated_safe]” rust#95025 (last review activity: about 21 days ago)
- cc @eddyb and @Esteban Küber ?
- “Initial work on Miri permissive-exposed-provenance” rust#95826 (last review activity: about 22 days ago)
- previous review from @RalfJ
Issues of Note
Short Summary
- 1 T-compiler P-critical issues
- 60 T-compiler P-high issues
- 0 P-critical, 1 P-high, 3 P-medium, 0 P-low regression-from-stable-to-beta
- 0 P-critical, 0 P-high, 1 P-medium, 0 P-low regression-from-stable-to-nightly
- 0 P-critical, 40 P-high, 82 P-medium, 10 P-low regression-from-stable-to-stable
P-critical
- “nested RPIT and HRTB: unclear semantics and future incompatibility” rust#96194
- @aliemjay reports an accidental stabilization
- Thread on irlo
- Wg-prio Zulip topic with thoughts from @Jack Huey and @cjgillot (esp. comment)
T-lang
nominated for discussion- (authored by @oli): a “small” PR that avoids the issue is up and beta nominated: rust#96970
- No
P-critical
issues forT-rustdoc
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
A good week: Several performance improvements, many around macro expansion. Only one regression of note, and that PR author opened an issue to follow up on it.
Triage done by @pnkfelix. Revision range: 468492c2..c51871c4
Summary:
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 11 | 37 | 117 | 65 | 128 |
mean | 0.7% | 0.7% | -1.2% | -1.6% | -1.1% |
max | 1.5% | 1.9% | -6.5% | -5.2% | -6.5% |
2 Regressions, 4 Improvements, 1 Mixed; 1 of them in rollups 59 artifact comparisons made in total
Regressions
Add a new Rust attribute to support embedding debugger visualizers #91779 (Comparison Link)
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 88 | 52 | 0 | 0 | 88 |
mean | 0.4% | 0.5% | N/A | N/A | 0.4% |
max | 0.9% | 1.0% | N/A | N/A | 0.9% |
- Original PR author opened issue #96786 to investigate these regressions, and marked as triaged.
- (PR #96795 claims to resolve some of the regressions, but rust-timer didn’t see any significant change from that.)
Rollup of 6 pull requests #96877 (Comparison Link)
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 18 | 0 | 0 | 0 | 18 |
mean | 0.4% | N/A | N/A | N/A | 0.4% |
max | 0.7% | N/A | N/A | N/A | 0.7% |
- inspected graphs for the benchmarks at top of list of regressions: webrender-2022, regex-1.5.5, clap-3.1.6, cargo-0.60.0. It seems like any long-term effect here is quite minor, and the fact that this PR was tagged as significant is due to a blip in the measurements.
- marking as triaged.
Improvements
Speed up Token::{ident,lifetime}
#96683 (Comparison Link)
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 0 | 0 | 151 | 82 | 151 |
mean | N/A | N/A | -0.9% | -0.7% | -0.9% |
max | N/A | N/A | -6.9% | -4.0% | -6.9% |
Overhaul MacArgs
#96546 (Comparison Link)
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 1 | 1 | 16 | 9 | 17 |
mean | 0.3% | 0.2% | -0.8% | -0.2% | -0.8% |
max | 0.3% | 0.2% | -1.4% | -0.3% | -1.4% |
Remove ItemLikeVisitor impls from rustc_typeck #96531 (Comparison Link)
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 0 | 0 | 9 | 9 | 9 |
mean | N/A | N/A | -0.3% | -0.4% | -0.3% |
max | N/A | N/A | -0.4% | -0.6% | -0.4% |
Optimize switch sources representation and usage #96838 (Comparison Link)
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 0 | 0 | 4 | 7 | 4 |
mean | N/A | N/A | -0.7% | -2.0% | -0.7% |
max | N/A | N/A | -1.0% | -2.6% | -1.0% |
Mixed
store codegen_fn_attrs
in crate metadata #96473 (Comparison Link)
Regressions (primary) | Regressions (secondary) | Improvements (primary) | Improvements (secondary) | All (primary) | |
---|---|---|---|---|---|
count | 6 | 28 | 89 | 39 | 95 |
mean | 0.3% | 0.6% | -0.5% | -1.6% | -0.4% |
max | 0.6% | 2.2% | -1.4% | -4.8% | -1.4% |
- the regressions here were anticipated during development. The only regressions that arose were from doc builds (which I confirmed via inspection of the 6 regressing cases).
Nominated Issues
- “Stabilize the
bundle
native library modifier” rust#95818- @Vadim Petrochenkov added label
I-compiler-nominated
- PR closes rust#37403
- Stabilization report at comment
- @Vadim Petrochenkov added label
- No nominated RFCs for
T-compiler
this time.
Next week’s WG checkins
- @_WG-async-foundations by @nikomatsakis and @tmandry (previous checkin)
- @_WG-traits (generic associated types) by @Jack Huey (previous checkin)