Skip to content

Conversation

lnicola
Copy link
Member

@lnicola lnicola commented Oct 1, 2025

Subtree update of rust-analyzer to rust-lang/rust-analyzer@a6bc4a4.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost

sgasho and others added 30 commits August 27, 2025 00:06
Example
---

**Not applicable**:

```rust
fn foo() {
    match () {
        () => {
            t(|n|$0 n + 100);
        }
    }
}
```
Example
---
```rust
fn f() { $0!(1 || 3 && 4 || 5) }
```
->
```rust
fn f() { !1 && !(3 && 4) && !5 }
```
Example
---
```rust
#[cfg_attr($0, must_use)]
struct Foo;
```
Example
---
```rust
fn main() {
    let x = 1*x $0+ 2;
}
```

**Before this PR**:

```rust
fn main() {
    let x = 1*x.wrapping_add(2);
}
```

**After this PR**:

```rust
fn main() {
    let x = (1*x).wrapping_add(2);
}
```
Example
---
```rust
struct Foo { num: u32 }
struct Bar(Foo);
fn foo(Bar($0)) {}
```

**Before this PR**:

```rust
struct Foo { num: u32 }
struct Bar(Foo);
fn foo(Bar(Foo { num$1 }: Foo$0)) {}
```

**After this PR**:

```rust
struct Foo { num: u32 }
struct Bar(Foo);
fn foo(Bar(Foo { num$1 }$0)) {}
```
Example
---
```rust
fn main() {
    if $0let$0 Some(x) = Some(2+2) {}
}
```

**Before this PR**:

```rust
fn main() {
    let $0var_name = let Some(x) = Some(2+2);
    if var_name {}
}
```

**After this PR**:

```rust
fn main() {
    let $0var_name = Some(2+2);
    if let Some(x) = var_name {}
}
```
Example
---
```rust
fn foo() {
    let x = if true {
        1
    } el$0 else {
        2
    };
}
```

**Before this PR**:

```text
else~    k [LS]
else if~ k [LS]
```

**After this PR**:

```text
else if~ k [LS]
```
Example
---
```rust
struct Foo { x: () }
struct Bar { foo: Foo }
fn f(Bar { mut $0foo }: Bar) {}
```

**Before this PR**:

Panic `Option::unwrap`

**After this PR**:

```rust
struct Foo { x: () }
struct Bar { foo: Foo }
fn f(Bar { foo: Foo { mut x } }: Bar) {}
```
When the reference type does not require adding a dereference or parentheses, it will panic

Example
---

```rust
struct Foo { bar: i32, baz: i32 }

fn main() {
    let $0foo = &Foo { bar: 1, baz: 2 };
    let _ = &foo.bar;
}
```

**Before this PR**:

Panic:
```
assertion failed: !self.data().mutable
```

**After this PR**:

```rust
struct Foo { bar: i32, baz: i32 }

fn main() {
    let Foo { bar, baz } = &Foo { bar: 1, baz: 2 };
    let _ = bar;
}
```
Example
---

```rust
struct S { field : u32 }
fn main() {
    let s = S { field : 2 };
    let S { $0field } = s
}
```

**Before this PR**:

```rust
struct S { field : u32 }
fn main() {
    let s = S { field : 2 };
    let S { _field } = s
}
```

**After this PR**:

```rust
struct S { field : u32 }
fn main() {
    let s = S { field : 2 };
    let S { field: _field } = s
}
```
Fix panics on `Foo{mut x}` for destructure_struct_binding
Fix `else` completion before else keyword
…-l-curly-replace-is-method-with-if-let

Fix applicable after l_curly for replace_is_method_with_if_let_method
fix: Make flycheck clearing dependency-aware
…y-selected

Fix selected applicable generate_default_from_enum_variant
…t-add-deref-and-paren

Fix panic `!self.data().mutable` for destructure_struct_binding
Fix unused_variables fixes shorthand record field
- And add logic operation suggest

Example
---
In the old implementation, it always suggested conditions,
this is a lot of noise, e.g `contract_checks()~(use std::intrinsics::contract_checks) const fn() -> bool`

```rust
fn foo() {
    if true {
        c$0
    }
}
```
`remove_dbg` not applicable for whitespaces after trailing comma

Example
---
```rust
fn foo() {
    dbg!(
        bar(),
    );
}
```

**Before this PR**:

Assist not applicable

**After this PR**:

```rust
fn foo() {
    bar();
}
```
Fix not applicable on trailing comma for remove_dbg
@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 1, 2025
@bors
Copy link
Collaborator

bors commented Oct 1, 2025

⌛ Testing commit 9cb7d98 with merge 7b276fe...

bors added a commit that referenced this pull request Oct 1, 2025
`rust-analyzer` subtree update

Subtree update of `rust-analyzer` to rust-lang/rust-analyzer@a6bc4a4.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
@bors
Copy link
Collaborator

bors commented Oct 1, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 1, 2025
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@lnicola
Copy link
Member Author

lnicola commented Oct 1, 2025

@bors retry bad day for MacOS?

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 1, 2025
@bors
Copy link
Collaborator

bors commented Oct 1, 2025

⌛ Testing commit 9cb7d98 with merge 29ec92e...

bors added a commit that referenced this pull request Oct 1, 2025
`rust-analyzer` subtree update

Subtree update of `rust-analyzer` to rust-lang/rust-analyzer@a6bc4a4.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
@bors
Copy link
Collaborator

bors commented Oct 1, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 1, 2025
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@lnicola
Copy link
Member Author

lnicola commented Oct 1, 2025

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 1, 2025
@bors
Copy link
Collaborator

bors commented Oct 1, 2025

⌛ Testing commit 9cb7d98 with merge 3369e82...

@bors
Copy link
Collaborator

bors commented Oct 2, 2025

☀️ Test successful - checks-actions
Approved by: lnicola
Pushing 3369e82 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 2, 2025
@bors bors merged commit 3369e82 into rust-lang:master Oct 2, 2025
11 checks passed
@rustbot rustbot added this to the 1.92.0 milestone Oct 2, 2025
Copy link
Contributor

github-actions bot commented Oct 2, 2025

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 4da69df (parent) -> 3369e82 (this PR)

Test differences

Show 2 test diffs

2 doctest diffs were found. These are ignored, as they are noisy.

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 3369e82c6bc03c5cdb66f730dba6f738b74c8e1d --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-rust-for-linux: 2928.0s -> 2561.4s (-12.5%)
  2. armhf-gnu: 5172.9s -> 4535.8s (-12.3%)
  3. x86_64-gnu-llvm-20: 2763.3s -> 2424.7s (-12.3%)
  4. aarch64-gnu-llvm-20-2: 2453.0s -> 2156.9s (-12.1%)
  5. i686-gnu-1: 8265.1s -> 7379.3s (-10.7%)
  6. aarch64-gnu-debug: 4332.5s -> 3872.6s (-10.6%)
  7. i686-gnu-2: 6055.1s -> 5432.2s (-10.3%)
  8. x86_64-gnu-miri: 4879.9s -> 4447.4s (-8.9%)
  9. arm-android: 6149.0s -> 5607.6s (-8.8%)
  10. tidy: 205.0s -> 187.6s (-8.5%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (3369e82): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -2.8%, secondary -2.8%)

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.8% [-2.8%, -2.8%] 1
Improvements ✅
(secondary)
-2.8% [-2.8%, -2.8%] 1
All ❌✅ (primary) -2.8% [-2.8%, -2.8%] 1

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 471.938s -> 472.027s (0.02%)
Artifact size: 387.73 MiB -> 387.76 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.