Rollup of 9 pull requests - #163472
Rollup of 9 pull requests#163472
Conversation
…Source::Path` Use the `DefPath` to determine whether an `extern crate` item is globally nameable. `extern crate` items nested inside value namespaces cannot be referred to by a stable path outside their enclosing scope. Record them as `ExternCrateSource::Path` instead of `ExternCrateSource::Extern` so later path resolution does not reconstruct unnameable paths.
…temporarily to keep file history
…inner and outer doc comment
…adjusted never type
…henkov Avoid recording unnameable `extern crate` aliases in diagnostic metadata the root cause was that block scoped `extern crate` aliases were still being recorded as `ExternCrateSource::Extern(def_id)`. later, diagnostics reused that metadata and attempted to print paths through those aliases, producing unnameable paths such as `crate::_::_my_crate`. this change detects `extern crate` items whose `DefPath` passes through a value namespace (for example inside functions or `const` blocks) and records them as `ExternCrateSource::Path` instead. diagnostics then fall back to the crate name rather than an unnameable alias. Closes rust-lang#153459
…=lcnr next solver: prefer to select impl candidates over global where-clause candidates Fixes rust-lang#162331 Ideally we'd use a more appropriate typing environment when doing const-eval for const-to-pat, which would also fix that (since the problem clauses wouldn't be present to begin with). Being able to do that seems kind of far off, though, so here's a quick fix that (mostly) matches what the old solver does.
…ss35
add `Div` and `Mul` for `Complex<{float}>`
tracking issue: rust-lang#154023
There are no fallbacks for the libcalls, so Miri will currently fail.
…lution, r=petrochenkov Fix intra doc link resolution when a doc comment is composed of both inner and outer doc comment Fixes rust-lang#78591 Fixes rust-lang#119965 Fixes rust-lang#134904 This PR handles the case where doc is composed of both inner and outer doc comments. Which is generally not an issue... except for modules. So to fix this issue, I split the doc comments in two parts: outer on one side and inner on the other. To make it work, I changed some APIs to now receive an iterator of attributes rather than a slice of attributes. r? @Urgau
…-obk make `RustaceansAreAwesome` satisfy trait bounds We use `RustaceansAreAwesome` in place of `dyn Trait` when checking whether `Trait`'s methods' receivers are dyn-dispatchable. `Trait`'s where-bounds should hold for it. Fixes rust-lang#161621
…isDenton std: split stack overflow module One of my current projects is to improve the UNIX stack overflow handling code. Outlining the inner `imp` modules out of the current 844-line module makes future work like rust-lang#162296 much easier to review. The first three commits only exist to diffing simpler, the last one contains the import adjustments.
…=tgross35 Move `Arc` and `Rc` into `rcs` mod See <rust-lang#141348 (comment)>.
…rfonthey Add .seek_read_buf_exact() to std::os::windows::fs::FileExt Tracking issue: rust-lang#163183 This adds a `seek_read_buf_exact()` method to `std::os::windows::fs::FileExt` based on the `read_buf_exact_at()` method in `std::os::unix::fs::FileExt`. And this adds a test for `seek_read_buf_exact()` based on the test for `seek_read_buf()`. This extends the work in rust-lang#140771 which added `seek_read_buf()` and the work in rust-lang#162868 which added `seek_read_exact()` and `seek_write_all()` methods to `std::os::windows::fs::FileExt`. No LLMs were used in writing this PR.
Force the correct type variable to never for method resolution on an adjusted never type Fixes the problem described in https://rust-lang.zulipchat.com/#narrow/channel/618216-t-types.2Fcall-for-participation/topic/method.20call.20on.20diverging.20infer.20doesn.27t.20constrain.20to.20never/near/627440568 The reason that the old code didn't work, as far as I understand, is that the subtype constraint `root_ty <: ty` is only evaluated after `ty` is unioned with `&_`, causing a `mismatched type` error when `&_` is then given the subtype constraint. This is fixed by demanding `ty`, rather than `root_ty` to be equal to never. I asked lcnr whether they think there's a way to reproduce this on the old trait solver, they were unsure and I also am. I think to be safe we should backport this to 1.100, since the never type stabilization is in 1.100 and there might be a way to break this code then. r? @lcnr cc @WaffleLapkin
This comment has been minimized.
This comment has been minimized.
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 80a4f6c (parent) -> b46c90c (this PR) Test differencesShow 1037 test diffsStage 1
Stage 2
Additionally, 1003 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 b46c90c5619a16a0c7e4d0f4e9e1ad4db4cf106e --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 |
|
Finished benchmarking commit (b46c90c): comparison URL. Overall result: ❌ regressions - 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 1.7%, secondary -2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -7.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (secondary 0.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 490.592s -> 491.711s (0.23%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 80a4f6cdbd In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: |
|
@rust-timer triage all |
Running triage with 16 benchmarksTriage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
#158997 cc34d89 Avoid recording unnameable
|
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-1.6% | [-1.6%, -1.6%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
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.
#162655 e7433db next solver: prefer to select impl candidates over global where-clause candidates
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 (secondary -4.0%)
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) |
- | - | 0 |
| Improvements ✅ (secondary) |
-4.0% | [-5.3%, -2.6%] | 2 |
| All ❌✅ (primary) | - | - | 0 |
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.
#162832 63b34fe add Div and Mul for Complex<{float}>
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 (secondary -5.4%)
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) |
- | - | 0 |
| Improvements ✅ (secondary) |
-5.4% | [-5.4%, -5.4%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
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.
#162862 da2ad8d Fix intra doc link resolution when a doc comment is composed of both inner and outer doc comment
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.2%, 0.2%] | 3 |
| Regressions ❌ (secondary) |
0.2% | [0.1%, 0.3%] | 20 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 3 |
Max RSS (memory usage)
Results (secondary -2.1%)
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) |
- | - | 0 |
| Improvements ✅ (secondary) |
-2.1% | [-2.1%, -2.1%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
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.
#163200 457d82a make RustaceansAreAwesome satisfy trait bounds
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 (secondary -5.0%)
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) |
- | - | 0 |
| Improvements ✅ (secondary) |
-5.0% | [-5.0%, -5.0%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
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.
#163210 7cf592b std: split stack overflow module
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)
This perf run didn't have relevant results for this metric.
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.
#163331 1c0c3a1 Move Arc and Rc into rcs mod
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.3% | [0.3%, 0.3%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
Results (secondary -17.0%)
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) |
- | - | 0 |
| Improvements ✅ (secondary) |
-17.0% | [-17.0%, -17.0%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
Results (secondary 0.4%)
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.4% | [0.4%, 0.4%] | 4 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
#163183 1694f53 Add .seek_read_buf_exact() to std::os::windows::fs::FileExt
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 (secondary -2.5%)
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) |
- | - | 0 |
| Improvements ✅ (secondary) |
-2.5% | [-2.5%, -2.5%] | 1 |
| All ❌✅ (primary) | - | - | 0 |
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.
#163450 fbea8d2 Force the correct type variable to never for method resolution on an adjusted never type
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)
This perf run didn't have relevant results for this metric.
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.
Successful merges:
extern cratealiases in diagnostic metadata #158997 (Avoid recording unnameableextern cratealiases in diagnostic metadata)DivandMulforComplex<{float}>#162832 (addDivandMulforComplex<{float}>)RustaceansAreAwesomesatisfy trait bounds #163200 (makeRustaceansAreAwesomesatisfy trait bounds)ArcandRcintorcsmod #163331 (MoveArcandRcintorcsmod)r? @ghost
Create a similar rollup