Rollup of 23 pull requests - #162907
Rollup of 23 pull requests#162907
Conversation
Giving access to `std::os::windows::process::ChildExt::main_thread_handle()`.
It does not look like these items are actually used by rustc.
This is to make it easy to update the static template, like its skeleton or style, and add features there, instead of doing it all with rust code. The dynamic sections are marked as dummy tokens and are replaced when dumping the MIR.
display a list of all the nodes each loan can reach (and whether the node's region is live at the node's point)
Loan traces can be big and numerous, so we hide them by default. We instead use a button to show a loan's trace.
margins and spacing, section separators, reachability layout, etc.
This API is in FCP, but there are no examples and much of it is untested. Add examples here.
Item bounds already instantiate higher-ranked GAT arguments with identity parameters. Compare the bound self type with the identity alias directly, and treat any remaining bound region as static.
Co-authored-by: Amanda Stjerna <amanda@stjerna.space> Co-authored-by: Jack Huey <31162821+jackh726@users.noreply.github.com>
Right now things are undertested and underspecified. Some of the library code would get in a loop if searcher starts returning empty rejects. And there's no tests for backwards multi byte char matchers. Pull request I'm reviving had a problem implementing that, so making sure it's tested before the actual code lands. Right now it is possible to break both tests (and user code) without breaking anything else in the test suite I think.
LLVM prior to 24 didn't do some optimizations around call slots on pointers without `dereferenceable` set. A recent change enhanced the optimizer so it can handle that case (at least in this test) so we relax the checks here slightly. We still (from what I can tell) demonstrate that `sse41_blend_nofeature` is not inlined, which seems to be the import part of this region of the test.
`annotate-snippets-rs` supports pointing at `Span`s without an underline. Start using that feature in `rustc`. We currently use secondary span labels with no text to point at context that should appear in the diagnostic, but that are merely context.
Generally `rustc_middle::query` has types while `rustc_query_impl` has operations. So this commit moves some operations from the former to the latter. Some of them are just moved, while others are inlined and removed.
The old name `implement_ty_decoder!` historically made some sense, but nowadays is quite misleading for a macro that only forwards Decoder methods. Requiring the caller to provide the `impl` block makes the calling code clearer, while also reducing the complexity of dealing with generics. The downside is a little less context at the macro-definition site, which seems fine. The closure-like syntax allows for arbitrary expressions involving `self`, without running into hygiene problems and without requiring separate closures for `&self` and `&mut self` methods. It also works well with IDE hover hints.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing c999cef (parent) -> 76af58f (this PR) Test differencesShow 1372 test diffsStage 1
Stage 2
(and 496 additional test diffs) Additionally, 776 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 76af58f665c5cd76672e64ca118efbb0101fb224 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
📌 Perf builds for each rolled up PR:
parent commit: c999cef531 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (76af58f): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -4.6%, secondary 1.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.1%, secondary 3.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 500.132s -> 498.345s (-0.36%) |
|
@rust-timer triage all |
Running triage with 23 benchmarksTriage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
#161596 e06b230 coretests: Add more pattern tests.Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -2.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 4.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. #162411 5fbcfad Make Receiver
|
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-2.1% | [-2.1%, -2.1%] | 1 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | -2.1% | [-2.1%, -2.1%] | 1 |
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#160212 e64de43 traits: Fix rigid alias liveness matching
This perf run didn't have relevant results for the `instruction count` metric.
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
Results (primary -2.3%, secondary -2.2%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-2.3% | [-2.3%, -2.3%] | 1 |
| Improvements ✅ (secondary) |
-2.2% | [-2.2%, -2.2%] | 1 |
| All ❌✅ (primary) | -2.3% | [-2.3%, -2.3%] | 1 |
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#160544 873883a Stabilize feature(trim_prefix_suffix) ({str, [T], Path}::trim_prefix and {str, [T]}::trim_suffix)
Instruction count
Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-0.1% | [-0.1%, -0.1%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
Max RSS (memory usage)
Results (primary -2.2%, secondary -2.2%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-2.2% | [-2.2%, -2.2%] | 1 |
| Improvements ✅ (secondary) |
-2.2% | [-2.3%, -2.0%] | 2 |
| All ❌✅ (primary) | -2.2% | [-2.2%, -2.2%] | 1 |
Cycles
Results (secondary 4.2%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
4.2% | [4.2%, 4.2%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This perf run didn't have relevant results for this metric.
#161305 1c9b0c4 Use the entire type of a dropped local to compute variance (edge direction) for Polonius alpha
Instruction count
Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
0.2% | [0.1%, 0.4%] | 33 |
| Regressions ❌ (secondary) |
0.2% | [0.1%, 0.3%] | 11 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-0.1% | [-0.1%, -0.1%] | 1 |
| All ❌✅ (primary) | 0.2% | [0.1%, 0.4%] | 33 |
Max RSS (memory usage)
Results (primary -0.4%, secondary -2.2%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
1.4% | [1.4%, 1.4%] | 1 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-2.2% | [-2.2%, -2.2%] | 1 |
| Improvements ✅ (secondary) |
-2.2% | [-2.2%, -2.2%] | 1 |
| All ❌✅ (primary) | -0.4% | [-2.2%, 1.4%] | 2 |
Cycles
Results (primary 2.6%, secondary 3.8%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
2.6% | [2.5%, 2.7%] | 2 |
| Regressions ❌ (secondary) |
3.8% | [3.8%, 3.8%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 2.6% | [2.5%, 2.7%] | 2 |
Binary size
This perf run didn't have relevant results for this metric.
#161838 d4ec160 tests: accept LLVM 24 optimization in this test
Instruction count
Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-0.1% | [-0.1%, -0.1%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
Max RSS (memory usage)
Results (primary -2.2%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-2.2% | [-2.2%, -2.2%] | 1 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | -2.2% | [-2.2%, -2.2%] | 1 |
Cycles
Results (primary 2.7%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
2.7% | [2.7%, 2.7%] | 1 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 2.7% | [2.7%, 2.7%] | 1 |
Binary size
This perf run didn't have relevant results for this metric.
#162312 7c01ae9 core: Rewrite docs for try_as_dyn
Queued 7c01ae9 with parent c999cef, future comparison URL.
There are currently 7 preceding artifacts in the queue.
It will probably take at least ~5.3 hours until the benchmark run finishes.
#162785 9432031 Avoid creating overlapping assignments in MatchBranchSimplification
Queued 9432031 with parent c999cef, future comparison URL.
There are currently 10 preceding artifacts in the queue.
It will probably take at least ~7.6 hours until the benchmark run finishes.
#162805 6093376 Add must_use lint to ExitCode
Queued 6093376 with parent c999cef, future comparison URL.
There are currently 12 preceding artifacts in the queue.
It will probably take at least ~9.1 hours until the benchmark run finishes.
#162825 fa6c73b core: Add examples for debug_closure_helpers
Queued fa6c73b with parent c999cef, future comparison URL.
There are currently 13 preceding artifacts in the queue.
It will probably take at least ~9.8 hours until the benchmark run finishes.
#162841 f6f393e enable asm tests for xtensa targets
Queued f6f393e with parent c999cef, future comparison URL.
There are currently 14 preceding artifacts in the queue.
It will probably take at least ~10.6 hours until the benchmark run finishes.
#162842 c6044ac reintroduce check RibKind::ConstParamTy did in direct consts
Queued c6044ac with parent c999cef, future comparison URL.
There are currently 15 preceding artifacts in the queue.
It will probably take at least ~11.3 hours until the benchmark run finishes.
#162845 5c983d0 mgca: fix issue with mismatched array valtree/valtree tys
Queued 5c983d0 with parent c999cef, future comparison URL.
There are currently 17 preceding artifacts in the queue.
It will probably take at least ~12.9 hours until the benchmark run finishes.
#162856 72c56c9 Stabilize CommandExt::show_window
Queued 72c56c9 with parent c999cef, future comparison URL.
There are currently 18 preceding artifacts in the queue.
It will probably take at least ~13.6 hours until the benchmark run finishes.
#162865 3a42b07 Complex conjugate, negation and default
Queued 3a42b07 with parent c999cef, future comparison URL.
There are currently 19 preceding artifacts in the queue.
It will probably take at least ~14.4 hours until the benchmark run finishes.
#162874 e2eef99 Add support for annotate_snippets::snippet::AnnotationKind::Visible
Queued e2eef99 with parent c999cef, future comparison URL.
There are currently 20 preceding artifacts in the queue.
It will probably take at least ~15.1 hours until the benchmark run finishes.
#162881 1008424 Simplify the macro for forwarding Decoder methods
Queued 1008424 with parent c999cef, future comparison URL.
There are currently 22 preceding artifacts in the queue.
It will probably take at least ~16.6 hours until the benchmark run finishes.
#162888 16f52a3 Fix a typo on the Armv7-R platform docs page
Queued 16f52a3 with parent c999cef, future comparison URL.
There are currently 23 preceding artifacts in the queue.
It will probably take at least ~17.4 hours until the benchmark run finishes.
Successful merges:
#[rustc_dyn_incompatible_trait]#162411 (Make Receiver#[rustc_dyn_incompatible_trait])rustc_middle::query::job#162876 (Move operations out ofrustc_middle::query::job)windows_process_extensions_main_thread_handle#160108 (Stabilizewindows_process_extensions_main_thread_handle)feature(trim_prefix_suffix)({str, [T], Path}::trim_prefixand{str, [T]}::trim_suffix) #160544 (Stabilizefeature(trim_prefix_suffix)({str, [T], Path}::trim_prefixand{str, [T]}::trim_suffix))must_uselint toExitCode#162805 (Addmust_uselint toExitCode)debug_closure_helpers#162825 (core: Add examples fordebug_closure_helpers)annotate_snippets::snippet::AnnotationKind::Visible#162874 (Add support forannotate_snippets::snippet::AnnotationKind::Visible)r? @ghost
Create a similar rollup