Repository navigation
Rollup of 5 pull requests - #164575
Rollup of 5 pull requests#164575
Conversation
…nsive to compute I'm conflicted about this. One one hand, the memory impact isn't large: 2mb on rust-analyzer, 13mb on buck2 and 14mb on omicron. On the other hand, the speed gains aren't large as well: ~2 seconds on rust-analyzer or 2 ginstructions (0.4%). So I figured I'll let others decide.
Example
---
```rust
fn main() {
if cfg!(target_os = "$0")
}
```
**Before this PR**
Cannot complete
**After this PR**
```text
ba cuda
ba dragonfly
...
```
…-queries perf: Querify some things that are called by the solver and are fairly expensive to compute
fix: complete cfg key-value in string inside cfg!()
…-gen-rustc-arg fix: pass rustc path to unstable-book-gen
According to the plan outlined [in Zulip](https://rust-lang.zulipchat.com/#narrow/channel/185405-t-compiler.2Frust-analyzer/topic/Breaking.20up.20hir-ty/near/617085080). This first step extracts the `hir-ide` crate, containing extra diagnostics, display, and tests. Tests must be in the leaf crate because they need access to the full database (some can go with a dummy impl for some methods, but it'll be more complicated than just moving them here). We had to make some compromises; pretty-printing MIR and MIR errors requires display, so we need it to be in `hir-ide`, but then it can't be an inherent method, so we made it an extension trait and also made a proc macro to make that easier (copied from rustc).
…y-step1 internal: Break hir-ty up, step 1
Previously we just iterated the variants with the candidate tag, which isn't correct when some variants are untagged due to the niche optimisation. Instead, calculate the variant correctly by copy-pasting the rustc implementation as much as possible. https://github.com/rust-lang/rust/blob/e023590de407f417e0f3da675a372eca7acf60c6/compiler/rustc_const_eval/src/interpret/discriminant.rs#L134-L200 Without this, we'd previously show the wrong variant in hover, or outright panic (the new test case panicked prior to this fix). (I first spotted this when investigating a SCIP crash on paritytech/polkadot-sdk.) AI disclosure: Code partly written by GPT-6.1 Sol, code review and commit message by me.
…ch_str_ref_to_owned_block_tail_expr TypeMismatch quickfix position error: `to_owned()`
fix: Enum niche decoding should match rustc
Stabilize optimize attribute
Signed-off-by: Ikeh Chukwuka <mrikehchukwuka@gmail.com>
See: https://github.com/actions/checkout/releases/tag/v6.1.0 This is the same version we are already using as of writing. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/actions/setup-node/releases/tag/v6.5.0 This is the same version we were already using at the time of writing. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/actions/cache/releases/tag/v4.3.0 This is the same version we were already using as of writing this. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/actions/upload-artifact/releases/tag/v7.0.2 This is the same version we were already using as of writing this. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/actions/download-artifact/releases/tag/v8.0.2 This is the same version we were already using at the time of writing. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/josh-sync.20pull.20workflow.20version.20pinning/near/629742031 Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/taiki-e/install-action/releases/tag/v2.87.26 This is the same version we were already using as of writing this. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/rust-lang/crates-io-auth-action/releases/tag/v1.0.5 This is the same version we were already using at the time of writing. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
…match_and_stale-action-refs_and_unpinned-uses ops: Resolve `ref-version-mismatch`, `stale-action-refs`, and `unpinned-uses`
…r-fix fix: `viewMir` panicking in code containing field projections
Example --- ```rust mod stru$0 ``` **Before this PR** ```rust mod struct; ``` **After this PR** ```rust mod r#struct; ```
Example --- ```rust mod foo; mod r#struct; mod $0 //- /foo.rs //- /bar.rs //- /struct.rs ``` **Before this PR** ```rust md bar; md struct; ``` **After this PR** ```rust md bar; ```
We need the target kind to be accessible from the ide crate to be able to build non-ambiguous monikers in `StaticIndex`. This only moves the enum definition, actually passing the data down happens in the next commit.
…lity, r=adwinwhite avoid exporting non-instantiable mono items a reachable non-generic function with an impossible where-clause can be included in the exported symbol list even though codegen does not produce its definition we can check impossible clauses before adding the item to the exported symbols r? adwinwhite
Re-enable parallelism for coroutine_by_move_body_def_id Reverts the changes in rust-lang#162580, keeping the test. rust-lang#162809 takes care of the nondeterminism issue
This comment has been minimized.
This comment has been minimized.
Rollup of 5 pull requests try-job: dist-various-1 try-job: test-various try-job: test-x86_64-gnu-aux try-job: test-x86_64-msvc-1 try-job: test-aarch64-apple-1 try-job: test-aarch64-apple-2 try-job: test-x86_64-mingw-1 try-job: test-i686-msvc try-job: test-armhf-gnu try-job: test-x86_64-gnu-llvm-22-3
This comment has been minimized.
This comment has been minimized.
|
@bors treeclosed=5 GitHub outage |
|
Tree closed for PRs with priority less than 5. |
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 b26b4e7 (parent) -> bd4c6cc (this PR) Test differencesShow 964 test diffsStage 0
Stage 1
(and 856 additional test diffs) Additionally, 8 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 bd4c6cc4aeef0eb9919c6f73c1e690677e9c6b38 --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 (bd4c6cc): 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 (secondary 1.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.7%, secondary -0.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. Bootstrap: 489.846s -> 488.943s (-0.18%) |
|
📌 Perf builds for each rolled up PR:
parent commit: b26b4e75de 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 2 benchmarksTriage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
#164369 a4b6515 Make tuple
|
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
0.2% | [0.2%, 0.2%] | 4 |
| Regressions ❌ (secondary) |
0.3% | [0.2%, 0.3%] | 2 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 4 |
Max RSS (memory usage)
Results (secondary -1.3%)
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) |
-1.3% | [-1.3%, -1.3%] | 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.
#164505 0e10433 Re-enable parallelism for coroutine_by_move_body_def_id
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 -1.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) |
-1.4% | [-1.4%, -1.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.
Successful merges:
rust-analyzersubtree update #164562 (rust-analyzersubtree update)PartialOrdchaining easier on mir-opt #164369 (Make tuplePartialOrdchaining easier on mir-opt)#[track_caller]in async on gcc backend #163262 (Test#[track_caller]in async on gcc backend)r? @ghost
Create a similar rollup