Rollup of 25 pull requests - #162310
Conversation
Store identity argument indices instead of bound generic arguments so callers can index concrete alias arguments without changing rigidness through instantiation.
Match the existing params_in_repr / unsizing_params convention; the compiler already treats generic arg counts as u32-sized.
Treat missing outlives information as no restriction so all sources can be intersected uniformly. Keep bivariant alias arguments out of the final region walk.
This is mainly because it would be very useful in Clippy to have a fast way to check if two DefIds are related (and what that relation is).
This attempts to match clang's behavior of implicitly disabling sanitizers that are incompatible. Specifically, if a set of default sanitizers would be incompatible with ones provided by -Zsanitize=..., then clang (and now rust) will opt for keeping the ones specified via flags over the ones used as platform defaults. This helps maintain build consistency where we can just enable sanitizers via flags for both rust and c++ code without needing to manually disable others. The driving reason for this is asan and safestack where we'd like to enable safestack by default for x86_64 fuchsia but disable it if -Zsanitize=address is passed (matching clang's behavior). This commit also refactors all uses of `self.opts.unstable_opts.sanitizer` to go through the updated `sanitizer()` method. AI: Gemini was used to help review the code and write some tests, but it did not generate the whole patch. I edited and reviewed this PR to the best of my ability before pushing for review.
There are various types used to carry name resolution results across crate boundaries. They are scattered across places like `rustc_middle::ty`, `rustc_middle::metadata`, and `rustc_hir::def`. This commit moves them into the new module, a more logical place for them to live. As part of this it eliminates the small `rustc_middle::metadata` module. One nice consequence of this change: it removes the single use of a `LocalDefId` in `rustc_ast`. (This is what got my attention in the first place.)
|
@bors retry |
|
@bors treeopen |
|
Tree is now open for merging. |
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 0ed41eb (parent) -> 0f819a1 (this PR) Test differencesShow 796 test diffsStage 0
Stage 1
Stage 2
Additionally, 738 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 0f819a1602c3814642aa63799b43772b7bb456e8 --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 (0f819a1): 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 0.7%, secondary 1.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -6.5%, secondary 0.8%)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: 476.718s -> 484.591s (1.65%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 0ed41eb414 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Running triage with 35 benchmarksTriage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
#162072 d499399 Add new Tier-3 target:
|
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
6.0% | [6.0%, 6.0%] | 1 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-7.0% | [-11.5%, -2.5%] | 2 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | -2.7% | [-11.5%, 6.0%] | 3 |
Cycles
Results (primary 2.4%, secondary -2.3%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
2.4% | [2.4%, 2.4%] | 1 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-2.3% | [-2.3%, -2.3%] | 1 |
| All ❌✅ (primary) | 2.4% | [2.4%, 2.4%] | 1 |
Binary size
This perf run didn't have relevant results for this metric.
#160906 e3fa2db Suggest usize instead of placeholder type for array length constants
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
Results (primary -3.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) |
3.5% | [3.5%, 3.5%] | 1 |
| Regressions ❌ (secondary) |
2.2% | [2.2%, 2.2%] | 1 |
| Improvements ✅ (primary) |
-6.5% | [-10.3%, -2.7%] | 2 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | -3.2% | [-10.3%, 3.5%] | 3 |
Cycles
Results (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) |
- | - | 0 |
| Improvements ✅ (secondary) |
-2.2% | [-2.4%, -2.0%] | 2 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This perf run didn't have relevant results for this metric.
#161656 4c9aa76 Suggest mutable references for FnMut closure arguments
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.3% | [0.3%, 0.3%] | 1 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 0.3% | [0.3%, 0.3%] | 1 |
Max RSS (memory usage)
Results (primary 1.4%, secondary -4.1%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
3.6% | [3.4%, 3.7%] | 2 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-2.9% | [-2.9%, -2.9%] | 1 |
| Improvements ✅ (secondary) |
-4.1% | [-4.1%, -4.1%] | 1 |
| All ❌✅ (primary) | 1.4% | [-2.9%, 3.7%] | 3 |
Cycles
Results (secondary -2.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) |
-2.0% | [-2.1%, -2.0%] | 2 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This perf run didn't have relevant results for this metric.
|
I didn't queue everything, I lost my patience after typoing and getting lost in the hashes on a phone [edit] Maybe not a bad thing after all, this will run 35 benchmarks. That's kinda lot. |
View all comments
Successful merges:
powerpc64-sony-ps3#162072 (Add new Tier-3 target:powerpc64-sony-ps3)-Znext-solver#162262 (Avoid manually instantiating some binders in error reporting with-Znext-solver)rustc_middle::middle::resolve#162277 (Introducerustc_middle::middel::resolve)askamaversion to0.16.1#162292 (Updateaskamaversion to0.16.1)RegionExt; move methods toRegioninrustc_type_ir#160509 (RemoveRegionExt; move methods toRegioninrustc_type_ir)is_homogeneous_aggregate: use unit size, not total size #161394 (fixis_homogeneous_aggregate: use unit size, not total size )tcx.def_id_partial_cmppublic #161786 (Maketcx.def_id_partial_cmppublic)rustc_allowed_through_unstable_modulesattribute #162155 (add suggestion forrustc_allowed_through_unstable_modulesattribute)RngforBox#162212 (ImplementRngforBox)library/std/src/sys/fs/unix.rs#162303 (Fix a minor spelling error inlibrary/std/src/sys/fs/unix.rs)r? @ghost
Create a similar rollup