T Compiler Meeting Agenda 2024 10 17

T-compiler Meeting Agenda 2024-10-17

Announcements

  • Today, Rust 1.82 stable is out (blog post)
  • Reminder: if you see a PR/issue that seems like there might be legal implications due to copyright/IP/etc, please let us know (or at least message @davidtwco or @Wesley Wiser so we can pass it along).

Other WG meetings

MCPs/FCPs

WG checkins

None

Backport nominations

T-compiler beta / T-compiler stable

  • :beta: “Also use outermost const-anon for impl items in non_local_defs lint” rust#131660
    • Authored by Urgau
    • Fixes #131643 (does not affect the upcoming stable 1.82, it’s a nightly regression, “promoted” to beta today)
  • No stable nominations for T-compiler this time.

T-types stable / T-types beta

  • No beta nominations for T-types this time.
  • No stable nominations for T-types this time.

PRs S-waiting-on-team

T-compiler

Issues of Note

Short Summary

P-critical

T-compiler

  • No P-critical issues for T-compiler this time.

T-types

  • No P-critical issues for T-types this time.

P-high regressions

P-high beta regressions

  • “non-pub function no longer compiled in debug profile, causing link errors on thumbv7em-none-eabihf with defmt” rust#131164
    • Affects “just” a Tier 2 target but real-world impact seems to be serious (see comment)
    • @_Quentin Dian (dianqk) fixed this in LLVM 19 (llvm-project#111478) and is backported to beta in #131448 (just in time for the stable release)

Unassigned P-high nightly regressions

  • No unassigned P-high nightly regressions this time.

Performance logs

triage logs

No major changes this week.

Triage done by @simulacrum. Revision range: e6c46db4..5ceb623a

Summary:

(instructions:u) mean range count
Regressions (primary) 0.2% [0.2%, 0.2%] 1
Regressions (secondary) 0.5% [0.2%, 2.9%] 16
Improvements (primary) -0.3% [-0.4%, -0.2%] 14
Improvements (secondary) -0.6% [-1.7%, -0.1%] 32
All (primary) -0.2% [-0.4%, 0.2%] 15

1 Regression, 1 Improvement, 2 Mixed; 2 of them in rollups 36 artifact comparisons made in total

Regressions

Introduce SolverRelating type relation to the new solver #131263 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.2% [0.2%, 0.2%] 1
Regressions (secondary) 0.5% [0.2%, 2.7%] 9
Improvements (primary) - - 0
Improvements (secondary) - - 0
All (primary) 0.2% [0.2%, 0.2%] 1

Genuine, if small, regressions on a number of benchmarks. Likely required as part of the broader move to the new solver.

Improvements

Rollup of 8 pull requests #131628 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 0.5% [0.3%, 0.6%] 2
Improvements (primary) -0.3% [-0.3%, -0.2%] 8
Improvements (secondary) -0.6% [-1.8%, -0.1%] 31
All (primary) -0.3% [-0.3%, -0.2%] 8

Seems most likely to be due to “Shallowly match opaque key in storage #131599” but not confirming since this is an improvement.

Mixed

Rollup of 7 pull requests #131581 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) - - 0
Regressions (secondary) 0.4% [0.3%, 0.6%] 6
Improvements (primary) -0.3% [-1.0%, -0.2%] 7
Improvements (secondary) -2.5% [-2.5%, -2.5%] 1
All (primary) -0.3% [-1.0%, -0.2%] 7

Possibly spurious (and/or bi-modality) regression confined to tt-muncher (though across multiple scenarios). No need for further investigation, particular given a rollup.

Add #[track_caller] to allocating methods of Vec & VecDeque #126557 (Comparison Link)

(instructions:u) mean range count
Regressions (primary) 0.3% [0.0%, 0.5%] 26
Regressions (secondary) - - 0
Improvements (primary) - - 0
Improvements (secondary) -0.2% [-0.2%, -0.1%] 4
All (primary) 0.3% [0.0%, 0.5%] 26

Seems to be accepted by T-libs (https://github.com/rust-lang/rust/pull/126557#issuecomment-2329482185). An expected regression pre-merge.

Nominated Issues

T-compiler

  • “Add minicore test auxiliary and support //@ use-minicore directive in ui/assembly/codegen tests” rust#130693
    • @RalfJ nominated to evaluate the best directive syntax to use, see comment (and following)
    • More context and candidates suggestions from @Jieyou Xu

RFC

  • No I-compiler-nominated RFCs this time.

Oldest PRs waiting for review

T-compiler

  • “add error message for c# style named arguments” rust#118733
    • cc: @Esteban Küber
  • “Silence errors in expressions caused by bare traits in paths in 2021 edition” rust#125784
    • cc: @León Orell Liehr (fmease) but also author cc @Esteban Küber
    • A pretty big diff, needs a rebase. Unsure about the best way to proceed.
  • “Improve parse item fallback” rust#125388 (last review activity: 4 months ago)
    • cc: @Wesley Wiser
  • “Do not eagerly reject inference vars when trying to resolve method calls.” rust#126316 (last review activity: about 53 days ago)
    • cc @lcnr still interested in revieweing this?
  • Since @_mw recently left the project (💔), there are still a few pull requests assigned to him. Maybe find another assignee? Any taker? 🙏

Next week’s WG checkins

  • None

Next meetings' agenda draft: hackmd link