Rollup of 12 pull requests#153217
Conversation
- Remove some redundant `.clone_for_update()` and `.indent(IndentLevel::single())`
Example
---
```rust
fn main() {
if true {
$0if true
&& false
{
foo()
}
}
}
```
**Before this PR**
```rust
fn main() {
if true {
match true
&& false {
true => foo(),
_ => (),
}
}
}
```
**After this PR**
```rust
fn main() {
if true {
match true
&& false {
true => foo(),
_ => (),
}
}
}
```
the `check_ptr_ptr_cast` function had an early return when the source and
destination dyn trait objects shared the same principal trait def id:
if src_principal == dst_principal {
return Ok(());
}
this bypassed all three remaining checks that the code comment explicitly
listed as required: generic argument equality, projection equality, and
the auto-trait superset check. as a result, casts like
`*mut dyn Trait as *mut (dyn Trait + Send)` were silently accepted
instead of emitting E0804.
the fix removes the early return. `CastError::PtrPtrAddingAutoTraits` and
its diagnostic were already implemented — they just couldn't be reached.
the supertrait case (`trait Trait: Send`) continues to work correctly
because the auto-trait check already accounts for implied auto traits via
supertrait elaboration.
Currently the rustfmt slow test fails if you don't have a nightly toolchain installed. We install a nightly toolchain on CI, but it's a little confusing that tests can fail on a fresh checkout on a new laptop. Instead, skip this test if there's no nightly toolchain.
internal: Skip rustfmt test if nightly toolchain is missing
Example
---
```rust
enum Enum { TupleV(u32), RecordV { field: u32 }, UnitV }
use Enum::*;
fn func() {
if let $0 = unknown {}
}
```
**Before this PR**
```text
...
ev RecordV
ev TupleV
ev UnitV
bn RecordV {…} RecordV { field$1 }$0
bn TupleV(…) TupleV($1)$0
bn UnitV UnitV$0
kw mut
kw ref
```
**After this PR**
```text
...
bn RecordV {…} RecordV { field$1 }$0
bn TupleV(…) TupleV($1)$0
bn UnitV UnitV$0
kw mut
kw ref
```
…on-panic fix: Don't panic on invalid LSP notifications
…auto-trait-not-detected fix: Detect E0804 when casting raw ptr-to-dyn adds auto traits
fix: Fix scrutinee expr indent for replace_if_let_with_match
…nt-pat fix: no complete enum variant qualifier in pat
fix: Use -Zlockfile-path on every 1.95 nightly
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 1d113d2 (parent) -> ba15679 (this PR) Test differencesShow 504 test diffsStage 0
Stage 1
Stage 2
Additionally, 432 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 ba1567989ee7774a1fb53aa680a8e4e8daa0f519 --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:
previous master: 1d113d2f30 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (ba15679): comparison URL. Overall result: ❌ regressions - no action needed@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.0%, secondary -1.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -1.2%, secondary 3.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 508.307s -> 479.975s (-5.57%) |
Successful merges:
rust-analyzersubtree update #153211 (rust-analyzersubtree update)#[doc(alias = "...")]attribute on inlined reexports #153136 (Correctly handle#[doc(alias = "...")]attribute on inlined reexports)tys to prevent ICE #152165 (Normalize capture placetys to prevent ICE)r? @ghost
Create a similar rollup