T-compiler Meeting Agenda 2022-01-06
Announcements
- Next week, Jan. the 13rd, the new stable release 1.58 is out
- 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!)
- “Introduce a new linter for diagnostic meesages” compiler-team#478
- 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: 6 months ago) - “Make
-Z binary-dep-depinfo
the default behavior” compiler-team#464 (last review activity: 3 months ago) - “Tier 3 target proposal: riscv64gc-linux-android (Android target for
riscv64gc
)” compiler-team#472 (last review activity: about 27 days ago) - “
-Dwarnings
to cover all warnings” compiler-team#473 (last review activity: about 27 days ago) - “Build-time execution sandboxing” compiler-team#475 (last review activity: about 10 days ago)
- “Accept
- Pending FCP requests (check your boxes!)
- “Stabilize
-Z instrument-coverage
as-C instrument-coverage
” rust#90132 - “Stabilize
-Z print-link-args
as-C print-link-args
” rust#91606
- “Stabilize
- Things in FCP (make sure you’re good with it)
- “CI should exercise (subset of) tests under –stage 1” compiler-team#439
- “Adding known bugs to test cases” compiler-team#476
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- “Remove effect of
#[no_link]
attribute on name resolution” rust#92034
- “Remove effect of
WG checkins
- @WG-diagnostics by @Esteban Küber and @oli (previous checkin):
The biggest team impacting thing is the linter, which is now under MCP (I’m not fully convinced about the current approach) besides that, there have been very small improvements and a lot of smallish regressions that have been triaged
- @_WG-rustc-dev-guide by @__Santiago Pastorino and @Yuki Okushi|217081 (previous checkin):
Checkin text
Backport nominations
T-compiler beta / T-compiler stable
- No backport 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
- “Stabilize
-Z print-link-args
as-C print-link-args
” rust#91606- Moved to
disposition-merge
, raised a concern about the flag naming (suggested solution:--print link-args
for uniformity) - @Josh Triplett will investigate the flag renaming
- Moved to
Oldest PRs waiting for review
- “Properly track
ImplObligations
” rust#91030 (last active: 1 month ago)- latest reviews from @estebank and @nagisa, assigned to @oli
- “Let qpath contain NtTy:
<$:ty as $:ty>::…
” rust#91150 (last active: 1 month ago)- last review from @Vadim Petrochenkov, assigned to @wesley wiser
- “improve type abiguity error for functions and methods” rust#89862
- mentioned about 2 weeks ago
- “debuginfo: Add script for Rust support in lldb-mi” rust#89163
- previously discussed
- assigned to @pnkfelix
- consensus was to close the PR explaining why
- (now closed)
Issues of Note
Short Summary
- 2 T-compiler P-critical issues
- 79 T-compiler P-high issues
- 1 P-critical, 1 P-high, 0 P-medium, 0 P-low regression-from-stable-to-beta
- 0 P-critical, 1 P-high, 1 P-medium, 1 P-low regression-from-stable-to-nightly
- 2 P-critical, 52 P-high, 81 P-medium, 12 P-low regression-from-stable-to-stable
P-critical
- “Compile-time regression between 1.56.1 and 1.57.0 for deeply nested decorator types” rust#91598
- very positive feedback is coming in from users: next steps for this issue?
- No
P-critical
issues forT-rustdoc
this time.
P-high regressions
- No
P-high
beta regressions this time.
Unassigned P-high nightly regressions
- “toml 0.4.9 to 0.5.3 compile for a long time on 2021-10-02 nightly” rust#89524
- Issue seems to be (somehow) related to the new LLVM 13 pass manager
- @Nikita Popov suggested cherry picking from https://reviews.llvm.org/D98481
- regression is prioritized
P-medium
, should it be bumped up a little bit? - related: can rust#74705 be updated/closed?
Performance logs
It was a relatively calm, but good week overall. Most of the gains were improvements to rustdoc running times.
Triage done by @pnkfelix. Revision range: e91ad5fc62bdee4a29c18baa5fad2ca42fc91bf4..2b681ac06b1a6b7ea39525e59363ffee0d1a68e5
1 Regressions, 6 Improvements, 1 Mixed; 0 of them in rollups 30 Untriaged PRs 38 comparisons made in total
Regressions
rustc_metadata: Merge items from extern
blocks into their parent modules during metadata encoding rather than during metadata decoding #92153
- Small regression in instruction counts (up to 1.2% on
incr-unchanged
builds ofdeeply-nested-closures
) - Seems like it might be noise (all of the data points are annotated with “?").
- Left a comment saying even if this is real, it is justifiable.
Improvements
- rustdoc: Remove
String
allocation in iteration inprint_generic_bounds
#92283 - Reverts #92135 because perf regression #92291
- rustc_metadata: Encode list of all crate’s traits into metadata #92244
- Import
SourceFile
s from crate before decoding foreignSpan
#92175 - Add Attribute::meta_kind #92294
- Do not use LEB128 for encoding u16 and i16 #92314
Mixed
Mark drop calls in landing pads cold
instead of noinline
#92419
- Very large improvement in instruction counts (up to -8.2% on
full
builds ofissue-46449
) - Moderate regression in instruction counts (up to 1.5% on
incr-full
builds ofripgrep
) - This was expected. Left a comment.
Nominated Issues
- “Tracking issue for plugin stabilization (
plugin
,plugin_registrar
features)” rust#29597- briefly mentioned in [T-compiler meeting](Tracking issue for plugin stabilization) about 2 months ago
- @Josh Triplett asked what’s still using plugin support (comment)
- what’s the actionable for
T-compiler
right now? Is it mostly aT-lang
topic?
- No nominated RFCs for
T-compiler
this time.