T Compiler Meeting Agenda 2023 01 12

T-compiler Meeting Agenda 2023-01-12

Announcements

Other WG meetings (calendar link)

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)
  • 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)
  • Pending FCP requests (check your boxes!)
    • “Make unused_allocation lint against Box::new too” rust#104363
    • “Add deployment-target –print flag for Apple targets” rust#105354
  • Things in FCP (make sure you’re good with it)
  • 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

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

T-compiler

  • “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

T-compiler

  • “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

P-critical

T-compiler

  • “Seg fault in Rust 1.65.0 if I don’t create temporary variable” rust#105295
  • “regression: non-defining opaque type use in defining scope” rust#105826
    • also T-types and I-types-nominated
    • handled by @cjgillot in rust#106503: waiting for T-types review
  • “regression: failed to resolve proc macro definition” rust#106337
    • unassigned, bisection seems to point to #103760 (cc: @Vadim Petrochenkov )

T-types

  • mentioned above

T-rustdoc

  • No P-critical issues for T-rustdoc at this time.

P-high regressions

P-high beta regressions

  • “Borrow checker error on nightly even when the type is 'staticrust#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

triage logs for 2023-01-10

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)meanrangecount
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)meanrangecount
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)meanrangecount
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)meanrangecount
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)meanrangecount
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)meanrangecount
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

T-compiler

  • No nominated issues for T-compiler this time.

RFC

  • 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