T-compiler Meeting Agenda 2021-12-30
Announcements
- 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!)
- No new proposals this time.
- 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 20 days ago) - “
-Dwarnings
to cover all warnings” compiler-team#473 (last review activity: about 20 days ago) - “Build-time execution sandboxing” compiler-team#475 (last review activity: about 2 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
- Accepted MCPs
- No new accepted proposals this time.
- Finalized FCPs (disposition merge)
- No new finished FCP (disposition merge) this time.
WG checkins
- @WG-async-foundations by by @nikomatsakis and @tmandry (previous checkin
pnkfelix came up with this:
since last checkin on October 7th, async foundtions has: posted an RFC for static async fn in traits and for return position impl trait in traits, posted a doc on async stack traces effort, helped the tokio team with shipping tokio-console 0.1. (there has also been effort on general purpose generators, and various bits of polish that I didn’t list.)
- @WG-traits @nikomatsakis and @Jack Huey (previous checkin)
I think it can be summed up as “more of the same” of the previous checkins I am working in putting together a wg-traits retrospective blog post for the new year
Backport nominations
T-compiler stable / T-compiler beta
- :beta: “Re-introduce concept of projection cache ‘completion’” rust#89831
- Should close
P-high
rust#89195 - discussion from last week: based on @Aaron Hill concerns, decision for a backport was deferred
- anything new to add?
- Should close
- :beta: “Don’t perform any new queries while reading a query result on disk” rust#91919
- discussion from last week: this PR depends on rust#91924 and rust#92163 and seems to suffer from a significant perf. loss from them, so backporting this one doesn’t look like a good option (comment from @mw)
- :stable: “Re-introduce concept of projection cache ‘completion’” rust#89831
- Discussed last week, see beta backport
T-rustdoc stable / T-rustdoc beta
- :beta: “Fix rustdoc::private_doc_tests lint for public re-exported items” rust#92349
- Fixes an old rust#72081 and low priority rustdoc issue
- Fixes a lint that produced a wrong warning on exported items
- Waiting on CI, still not merged
- @GuillaumeGomez suggests that this being an old issue, maybe it can flow into the next release without backport.
- No stable nominations for
T-rustdoc
this time.
:back: / :shrug: / :hand:
PRs S-waiting-on-team
- “Fix invalid removal of backlines from doc comments” rust#92357
- fixes rustdoc issue (rust#91201)
- PR introduces a small breaking change as it slightly changes the output of rustdoc
- T-rustdoc seem to be ok with the change see rustdoc discussion
Oldest PRs waiting for review
- “Let qpath contain NtTy: <$:ty as $:ty>::…” #91150 (last activity: 1 month ago)
- assigned to @Wesley Wiser
- previously reviewed by @Vadim Petrochenkov
- “Extend check for UnsafeCell in consts to cover unions” #90383 (last activity: about 2 months ago)
- Assigned to @RalfJ, perhaps needs a second round of review?
- Remove
NullOp::Box
by nbdd0121 · Pull Request #90102 · rust-lang/rust- opened by @Gary Guo
- reviewed by @RalfJ, approved by @oli
- What’s the actual status of this PR?
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, 2 P-high, 2 P-medium, 1 P-low regression-from-stable-to-nightly
- 2 P-critical, 52 P-high, 82 P-medium, 13 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
- Some of the compile time regression has been recovered in latest nightlies, though we’re not back at the 1.56.1 level (see @Aaron Hill comment)
- Relevant PR rust#91186 is progressing and being reviewed
- #91186 discussed in meeting and maybe a candidate for a beta-backport (see Zulip mention)
- perhaps backport not as it is (see @The 8472|330154 comment)
- 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
Relatively quiet week, mostly rustdoc improvements.
Triage done by @simulacrum. Revision range: 3d57c61a9e04dcd3df633f41142009d6dcad4399..e91ad5fc62bdee4a29c18baa5fad2ca42fc91bf4
2 Regressions, 1 Improvements, 6 Mixed; 0 of them in rollups 0 Untriaged PRs 26 comparisons made in total
Regressions
Fix bad caching of ~const Drop
bounds #92149
- Moderate regression in instruction counts (up to 2.6% on
incr-patched: println
builds ofregression-31157
) - Necessary fix for correctness.
Add #[inline]
modifier to TypeId::of
#92135
- Large regression in instruction counts (up to 4.4% on
full
builds ofkeccak
) - Reverted in a later pull request, unclear what the exact cause of the regression is.
Improvements
- :arrow_up: rust-analyzer #92247
- Remove
PartialOrd
,Ord
fromLocalDefId
#90408 - Do not display
~const Drop
in rustdoc #92229 - Rustdoc: use
is_doc_hidden
method on more places #92227 - intra-doc: Use an enum to represent URL fragments #92088
- rustc_metadata: Switch crate data iteration from a callback to iterator #92159
Mixed
Backport LLVM changes to disable deferred inlining #92110
- Moderate improvement in instruction counts (up to -8.3% on
incr-patched: println
builds ofregression-31157
) - Large regression in instruction counts (up to 2.8% on
full
builds ofdeeply-nested
) - Avoids an extreme regression in LLVM, which was blocking migration onto the new pass manager (and so newer rustc versions) for some crates.
Nominated Issues
- No nominated issues for
T-compiler
this time.
- No nominated RFCs for
T-compiler
this time.