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

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