WG-async design meeting time:2025-05-22T19:00:00:00+02
Stable MIR Weekly Meeting time:2025-05-23T17:00:00:00+02[## Announcements
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).
target_env = "macabi"
and target_env = "sim"
" rust#139451x86_64-unknown-linux-gnu
stable" rust#140525
unknown_or_malformed_diagnostic_attributes
lint" rust#140717--json=timings
option to print build timings" compiler-team#873 (Zulip)--print
requests with output format suffixes" compiler-team#860 (Zulip)-C hint-mostly-unused
option" compiler-team#829 (Zulip) (last review activity: 3 months ago)
--print host-tuple
to print host target tuple" rust#125579multivalue
, reference-types
, and tail-call
target features" rust#131080#[no_mangle]
and #[export_name]
" rust#131558-Zdwarf-version
as -Cdwarf-version
" rust#136926dyn Trait
principal" rust#126660missing_fragment_specifier
an unconditional error" rust#128425ShouldPanic::YesWithMessage
's TrFailedMsg
" rust#136160i128
and u128
from improper_ctypes_definitions
" rust#137306Option::<T>::None
subject to NPO" rust#137323T-compiler beta / T-compiler stable
arm64ec-pc-windows-msvc
. If declined, people see a linker warningaarch64-pc-windows-msvc
(Tier 2)T-compiler
this time.T-types
this time.T-types
this time.LTO=true
breaks linking on a number of platforms (aarch64-unknown-linux-gnu
, aarch64-linux-android
, x86_64-apple-darwin
), unfortunately on stable 1.87P-critical
issues for T-types
this time.Unassigned P-high nightly regressions
A relatively quiet week, likely caused by not that many PRs being merged as many contributors
were at RustWeek and the All Hands event. There were several nice wins in trait solving;
the benchmark suite now contains benchmarks that use the new trait solver, so we can now
focus on optimizing its performance in the near future.
Triage done by @kobzol.
Revision range: 718ddf66..59372f2c
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.6% | [0.1%, 1.8%] | 25 |
Regressions (secondary) | 0.9% | [0.1%, 3.1%] | 23 |
Improvements (primary) | -0.3% | [-0.6%, -0.1%] | 33 |
Improvements (secondary) | -2.2% | [-9.2%, -0.1%] | 26 |
All (primary) | 0.1% | [-0.6%, 1.8%] | 58 |
2 Regressions, 5 Improvements, 3 Mixed; 3 of them in rollups
41 artifact comparisons made in total
Remove manual WF hack #140557 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.3% | [0.1%, 0.6%] | 34 |
Regressions (secondary) | 0.2% | [0.1%, 0.2%] | 5 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.3% | [0.1%, 0.6%] | 34 |
Add std::io::Seek
instance for std::io::Take
#138023 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 2.0% | [1.0%, 3.0%] | 2 |
Regressions (secondary) | 1.0% | [1.0%, 1.0%] | 1 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | - | - | 0 |
All (primary) | 2.0% | [1.0%, 3.0%] | 2 |
Rollup of 7 pull requests #141011 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.8% | [-0.9%, -0.8%] | 4 |
Improvements (secondary) | -0.4% | [-0.6%, -0.2%] | 8 |
All (primary) | -0.8% | [-0.9%, -0.8%] | 4 |
trait_sel: deep reject match_normalize_trait_ref
#140978 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -5.7% | [-9.3%, -0.1%] | 9 |
All (primary) | - | - | 0 |
Rollup of 8 pull requests #141113 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.1% | [-0.1%, -0.1%] | 4 |
Improvements (secondary) | -0.0% | [-0.0%, -0.0%] | 2 |
All (primary) | -0.1% | [-0.1%, -0.1%] | 4 |
move expensive layout sanity check to debug assertions #141039 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.2% | [-0.3%, -0.1%] | 22 |
Improvements (secondary) | -0.7% | [-1.6%, -0.4%] | 8 |
All (primary) | -0.2% | [-0.3%, -0.1%] | 22 |
Fast path for register_region_obligation
#141129 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | - | - | 0 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.2% | [-0.3%, -0.1%] | 30 |
Improvements (secondary) | -0.5% | [-1.0%, -0.0%] | 12 |
All (primary) | -0.2% | [-0.3%, -0.1%] | 30 |
Use the new solver in the impossible_predicates
#136988 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.9% | [0.4%, 1.1%] | 5 |
Regressions (secondary) | 0.5% | [0.3%, 1.0%] | 27 |
Improvements (primary) | -0.1% | [-0.1%, -0.1%] | 1 |
Improvements (secondary) | -0.1% | [-0.2%, -0.1%] | 6 |
All (primary) | 0.8% | [-0.1%, 1.1%] | 6 |
helloworld
and tiny benchmarks, and they are relatively small.Optimize ToString
implementation for integers #136264 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.7% | [0.3%, 1.1%] | 2 |
Regressions (secondary) | - | - | 0 |
Improvements (primary) | -0.2% | [-0.2%, -0.2%] | 2 |
Improvements (secondary) | - | - | 0 |
All (primary) | 0.3% | [-0.2%, 1.1%] | 4 |
fmt-write-str
runtime benchmark, which should be expected here!Rollup of 8 pull requests #141232 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions (primary) | 0.8% | [0.4%, 1.2%] | 8 |
Regressions (secondary) | 0.9% | [0.2%, 3.2%] | 15 |
Improvements (primary) | - | - | 0 |
Improvements (secondary) | -0.7% | [-1.0%, -0.0%] | 4 |
All (primary) | 0.8% | [0.4%, 1.2%] | 8 |
-Cforce-frame-pointers
favor the target or CLI?" rust#140774
-Cforce-frame-pointers=false
in most cases is overriden (set to true
) by the ABI of the target, removing all frame pointers in the current session.VecCache
to improve performance" rust#138405 (last review activity: 2 months ago)
succinct-zkvm
os and target" rust#138463
coerce_unsized
to check_cast
" rust#138542 (last review activity: 2 months ago)
PostBorrowckAnalysis
for old solver" rust#135899 (last review activity: about 35 days ago)
Next meetings' agenda draft: hackmd link