Skip to content

Conversation

@lnicola
Copy link
Member

@lnicola lnicola commented Sep 18, 2025

Subtree update of rust-analyzer to rust-lang/rust-analyzer@28849aa.

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

r? @ghost

ChayimFriedman2 and others added 30 commits August 5, 2025 15:17
Add assignment type analysis for ide-completion
fix external docs for exported macros
fix: Do not remove the original token when descending into derives
Remove only contain literals dbg statement

```rust
fn foo() {
    let n = 2;
    $0dbg!(3);
    dbg!(2.6);
    dbg!(1, 2.5);
    dbg!('x');
    dbg!(&n);
    dbg!(n);
    // needless comment
    dbg!("foo");$0
}
```
->
```rust
fn foo() {
    // needless comment
}
```
Old:
```rust
fn foo() {
    3;
    2.6;
    (1, 2.5);
    'x';
    &n;
    n;
    // needless comment
    "foo";
}
```
…e-dbg

Add remove literal dbg stmt for remove_dbg
…lxvvyy

Report the incorrect payload when failing to deserialize lsp messages
…wpkmxw

Fix non-lsp compliant `Response` definition
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](raszi/node-tmp@v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
…ast_instead_of_str

In handlers/extract_module.rs, generate ast::Module instead of String
…yarn/editors/code/tmp-0.2.4

Bump tmp from 0.2.3 to 0.2.4 in /editors/code
…qymsto

Disable error log for position clamping, its too noisy due to ease of triggering
remove duplicate field in Debug impl of ProjectWorkspace
…on_generate_by_indent_token

fix: generate function by indet token
The rustc AST allows both `for<>` binders and `?` polarity
modifiers in trait bounds, but they are parsed in a specific
order and validated for correctness:

  1. `for<>` binder is parsed first.
  2. Polarity modifiers (`?`, `!`) are parsed second.
  3. The parser validates that binders and polarity modifiers
     do not conflict:

```rust
if let Some(binder_span) = binder_span {
    match modifiers.polarity {
        BoundPolarity::Maybe(polarity_span) => {
            // Error: "for<...> binder not allowed with ? polarity"
        }
    }
}
```

This implies:

- `for<> ?Sized` → Valid syntax. Invalid semantics.
- `?for<> Sized` → Invalid syntax.

However, rust-analyzer incorrectly had special-case logic that
allowed `?for<>` as valid syntax. This fix removes that incorrect
special case, making rust-analyzer reject `?for<> Sized` as a
syntax error, matching rustc behavior.

This has caused confusion in other crates (such as syn) which
rely on these files to implement correct syntax evaluation.
**Input**:

```rust
fn main() {
    write!(f, "{2+3}$0")
}
```

**Old output**:

```rust
fn main() {
    write!("{}"$0, 2+3)
}
```

**This PR output**:

```rust
fn main() {
    write!(f, "{}"$0, 2+3)
}
```
parser: fix parsing of trait bound polarity and for-binders
…m-fmtstr-on-write

Fix extract_expressions_from_format_string on write!
ChayimFriedman2 and others added 22 commits September 15, 2025 10:48
…iagnostics

This started from porting coercion, but ended with porting much more.
fix: More precise clause filtering for `explicit_*_predicates_of`
…pzus

fix: Only compute unstable paths on nightly toolchains for IDE features
…qxutsx

Add more workaround hacks for incorrect startup diagnostics
…vrts

fix: Fix expand macro recursively not working correctly for nested macro calls
Fix "sync-from-ra" for `rust-lang/rust`
…doc-breaks

fix(hover): unify horizontal rule formatting to `---`
Add `rust-analyzer.semanticHighlighting.comments.enable`
Enum variant fields do not allow visibility

Example
---
```rust
enum Foo {
    Variant($0String),
}
```

**Before this PR**:

```rust
enum Foo {
    Variant(pub(crate) String),
}
```

**After this PR**:

Assist not applicable
…cable-on-variant

Fix applicable on variant field for change_visibility
fix: Port a bunch of stuff from rustc and fix a bunch of type mismatches/diagnostics
@rustbot
Copy link
Collaborator

rustbot commented Sep 18, 2025

rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead.

cc @rust-lang/rust-analyzer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-rust-analyzer Relevant to the rust-analyzer team, which will review and decide on the PR/issue. labels Sep 18, 2025
@rustbot
Copy link
Collaborator

rustbot commented Sep 18, 2025

⚠️ Warning ⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

  • This PR is based on an upstream commit that is older than 28 days.

    It's recommended to update your branch according to the rustc-dev-guide.

@rust-log-analyzer
Copy link
Collaborator

The job pr-check-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] allocator_api2 test:false 0.302
error[E0433]: failed to resolve: could not find `DynKind` in `rustc_type_ir`
   --> src/tools/rust-analyzer/crates/hir-ty/src/lower_nextsolver.rs:793:75
    |
793 |             Ty::new_dynamic(self.interner, bounds, region, rustc_type_ir::DynKind::Dyn)
    |                                                                           ^^^^^^^ could not find `DynKind` in `rustc_type_ir`
    |
help: an enum with a similar name exists
    |
793 -             Ty::new_dynamic(self.interner, bounds, region, rustc_type_ir::DynKind::Dyn)
793 +             Ty::new_dynamic(self.interner, bounds, region, rustc_type_ir::TyKind::Dyn)
    |
help: consider importing this enum
    |
 12 + use ra_ap_rustc_type_ir::DynKind;
    |
help: if you import `DynKind`, refer to it directly
    |
793 -             Ty::new_dynamic(self.interner, bounds, region, rustc_type_ir::DynKind::Dyn)
793 +             Ty::new_dynamic(self.interner, bounds, region, DynKind::Dyn)
    |

error[E0433]: failed to resolve: could not find `DynKind` in `rustc_type_ir`
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/mapping.rs:373:47
    |
---

error[E0433]: failed to resolve: could not find `DynKind` in `rustc_type_ir`
    --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/mapping.rs:1449:55
     |
1449 |             assert!(matches!(dyn_kind, rustc_type_ir::DynKind::Dyn));
     |                                                       ^^^^^^^ could not find `DynKind` in `rustc_type_ir`
     |
help: an enum with a similar name exists
     |
1449 -             assert!(matches!(dyn_kind, rustc_type_ir::DynKind::Dyn));
1449 +             assert!(matches!(dyn_kind, rustc_type_ir::TyKind::Dyn));
     |
help: consider importing this enum
     |
   3 + use ra_ap_rustc_type_ir::DynKind;
     |
help: if you import `DynKind`, refer to it directly
     |
1449 -             assert!(matches!(dyn_kind, rustc_type_ir::DynKind::Dyn));
1449 +             assert!(matches!(dyn_kind, DynKind::Dyn));
     |

error[E0412]: cannot find type `DynKind` in crate `rustc_type_ir`
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:679:30
    |
---

error[E0433]: failed to resolve: could not find `DynKind` in `rustc_type_ir`
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/util.rs:464:56
    |
464 |         Str | Slice(..) | Dynamic(_, _, rustc_type_ir::DynKind::Dyn) => match sizedness {
    |                                                        ^^^^^^^ could not find `DynKind` in `rustc_type_ir`
    |
help: an enum with a similar name exists
    |
464 -         Str | Slice(..) | Dynamic(_, _, rustc_type_ir::DynKind::Dyn) => match sizedness {
464 +         Str | Slice(..) | Dynamic(_, _, rustc_type_ir::TyKind::Dyn) => match sizedness {
    |
help: consider importing this enum
    |
  3 + use ra_ap_rustc_type_ir::DynKind;
    |
help: if you import `DynKind`, refer to it directly
    |
464 -         Str | Slice(..) | Dynamic(_, _, rustc_type_ir::DynKind::Dyn) => match sizedness {
464 +         Str | Slice(..) | Dynamic(_, _, DynKind::Dyn) => match sizedness {
    |

[RUSTC-TIMING] icu_normalizer test:false 0.518
[RUSTC-TIMING] walkdir test:false 0.125
   Compiling nix v0.30.1
---
    Checking cargo-util-schemas v0.8.2
error[E0050]: method `new_dynamic` has 4 parameters but the declaration in trait `new_dynamic` has 3
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:676:19
    |
676 |           interner: DbInterner<'db>,
    |  ___________________^
677 | |         preds: <DbInterner<'db> as rustc_type_ir::Interner>::BoundExistentialPredicates,
678 | |         region: <DbInterner<'db> as rustc_type_ir::Interner>::Region,
679 | |         kind: rustc_type_ir::DynKind,
    | |____________________________________^ expected 3 parameters, found 4
    |
    = note: `new_dynamic` from trait: `fn(I, <I as rustc_type_ir::Interner>::BoundExistentialPredicates, <I as rustc_type_ir::Interner>::Region) -> Self`

[RUSTC-TIMING] icu_properties test:false 1.237
   Compiling typeid v1.0.3
    Checking mio v1.0.4
error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> src/tools/rust-analyzer/crates/hir-ty/src/infer/coerce.rs:614:31
    |
614 |             | TyKind::Dynamic(_, _, _)
    |                               ^  ^  ^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

[RUSTC-TIMING] mio test:false 0.199
    Checking filetime v0.2.25
[RUSTC-TIMING] cargo_util_schemas test:false 1.201
---
    Checking notify v8.0.0
error[E0061]: this function takes 3 arguments but 4 arguments were supplied
   --> src/tools/rust-analyzer/crates/hir-ty/src/lower_nextsolver.rs:793:13
    |
793 |             Ty::new_dynamic(self.interner, bounds, region, rustc_type_ir::DynKind::Dyn)
    |             ^^^^^^^^^^^^^^^                                --------------------------- unexpected argument #4
    |
note: associated function defined here
   --> /checkout/compiler/rustc_type_ir/src/inherent.rs:79:8
    |
 79 |     fn new_dynamic(interner: I, preds: I::BoundExistentialPredicates, region: I::Region) -> Self;
    |        ^^^^^^^^^^^
help: remove the extra argument
    |
793 -             Ty::new_dynamic(self.interner, bounds, region, rustc_type_ir::DynKind::Dyn)
793 +             Ty::new_dynamic(self.interner, bounds, region)
    |

[RUSTC-TIMING] notify test:false 0.233
error[E0063]: missing field `stable_hash` in initializer of `WithCachedTypeInfo<_>`
  --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/consts.rs:35:22
   |
35 |         let cached = WithCachedTypeInfo {
   |                      ^^^^^^^^^^^^^^^^^^ missing `stable_hash`

error[E0308]: mismatched types
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/fulfill/errors.rs:275:59
    |
275 |                 candidates.retain(|c| !matches!(c.kind(), inspect::ProbeKind::RigidAlias { .. }));
    |                                                 --------  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ProbeKind<DbInterner<'_>>`, found `ProbeKind<_>`
    |                                                 |
    |                                                 this expression has type `rustc_type_ir::solve::inspect::ProbeKind<next_solver::interner::DbInterner<'_>>`
    |
    = note: `ProbeKind<_>` and `ProbeKind<DbInterner<'_>>` have similar names, but are actually distinct types
note: `ProbeKind<_>` is defined in crate `ra_ap_rustc_type_ir`
   --> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ra-ap-rustc_type_ir-0.129.0/src/solve/inspect.rs:91:1
    |
 91 | pub enum ProbeKind<I: Interner> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: `ProbeKind<DbInterner<'_>>` is defined in crate `rustc_type_ir`
   --> /checkout/compiler/rustc_type_ir/src/solve/inspect.rs:91:1
    |
 91 | pub enum ProbeKind<I: Interner> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
    --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/fulfill/errors.rs:1149:33
     |
1149 |                 TyKind::Dynamic(data, r, _) => {
     |                                 ^^^^  ^  ^ expected 2 fields, found 3
     |
    ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
     |
 154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
     |             -----------------------------  --------- tuple variant has 2 fields

[RUSTC-TIMING] cargo_metadata test:false 0.976
[RUSTC-TIMING] typeid test:false 0.041
[RUSTC-TIMING] idna_adapter test:false 0.060
---
    |
note: tuple variant defined here
   --> /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:5
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |     ^^^^^^^
help: remove the extra argument
    |
374 -                     rustc_type_ir::TyKind::Dynamic(bounds, region, kind)
374 +                     rustc_type_ir::TyKind::Dynamic(bounds, region)
    |

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
    --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/mapping.rs:1448:40
     |
1448 |         rustc_type_ir::TyKind::Dynamic(preds, region, dyn_kind) => {
     |                                        ^^^^^  ^^^^^^  ^^^^^^^^ expected 2 fields, found 3
     |
    ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
     |
 154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
     |             -----------------------------  --------- tuple variant has 2 fields

error[E0063]: missing field `stable_hash` in initializer of `WithCachedTypeInfo<_>`
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/predicate.rs:226:22
    |
---

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:181:62
    |
181 |             TyKind::Str | TyKind::Slice(_) | TyKind::Dynamic(_, _, _) => match sizedness {
    |                                                              ^  ^  ^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:424:29
    |
424 |             TyKind::Dynamic(ref trait_ty, ref reg, _) => {
    |                             ^^^^^^^^^^^^  ^^^^^^^  ^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:489:29
    |
489 |             TyKind::Dynamic(trait_ty, region, representation) => TyKind::Dynamic(
    |                             ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

error[E0061]: this enum variant takes 2 arguments but 3 arguments were supplied
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:489:66
    |
489 |             TyKind::Dynamic(trait_ty, region, representation) => TyKind::Dynamic(
    |                                                                  ^^^^^^^^^^^^^^^
...
492 |                 representation,
    |                 -------------- unexpected argument #3
    |
note: tuple variant defined here
   --> /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:5
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |     ^^^^^^^
help: remove the extra argument
    |
491 -                 region.try_fold_with(folder)?,
492 -                 representation,
491 +                 region.try_fold_with(folder)?,
    |

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:540:29
    |
540 |             TyKind::Dynamic(trait_ty, region, representation) => TyKind::Dynamic(
    |                             ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

error[E0061]: this enum variant takes 2 arguments but 3 arguments were supplied
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:540:66
    |
540 |             TyKind::Dynamic(trait_ty, region, representation) => TyKind::Dynamic(
    |                                                                  ^^^^^^^^^^^^^^^
...
543 |                 representation,
    |                 -------------- unexpected argument #3
    |
note: tuple variant defined here
   --> /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:5
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |     ^^^^^^^
help: remove the extra argument
    |
542 -                 region.fold_with(folder),
543 -                 representation,
542 +                 region.fold_with(folder),
    |

error[E0061]: this enum variant takes 2 arguments but 3 arguments were supplied
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:681:27
    |
681 |         Ty::new(interner, TyKind::Dynamic(preds, region, kind))
    |                           ^^^^^^^^^^^^^^^                ---- unexpected argument #3
    |
note: tuple variant defined here
   --> /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:5
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |     ^^^^^^^
help: remove the extra argument
    |
681 -         Ty::new(interner, TyKind::Dynamic(preds, region, kind))
681 +         Ty::new(interner, TyKind::Dynamic(preds, region))
    |

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/util.rs:464:35
    |
464 |         Str | Slice(..) | Dynamic(_, _, rustc_type_ir::DynKind::Dyn) => match sizedness {
    |                                   ^  ^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

[RUSTC-TIMING] indexmap test:false 0.613
[RUSTC-TIMING] serde_spanned test:false 0.069
[RUSTC-TIMING] proc_macro_api test:false 0.550
   Compiling percent-encoding v2.3.1
[RUSTC-TIMING] syn test:false 3.391
   Compiling toml_write v0.1.2
error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
    --> src/tools/rust-analyzer/crates/hir-ty/src/display.rs:1067:58
     |
1067 |         TyKind::Slice(_) | TyKind::Str | TyKind::Dynamic(_, _, _) => f.write_str("<unsized-value>"),
     |                                                          ^  ^  ^ expected 2 fields, found 3
     |
    ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
     |
 154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
     |             -----------------------------  --------- tuple variant has 2 fields

error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
   --> src/tools/rust-analyzer/crates/hir-ty/src/display.rs:900:29
    |
900 |             TyKind::Dynamic(_, _, _) => {
    |                             ^  ^  ^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

[RUSTC-TIMING] toml_datetime test:false 0.193
[RUSTC-TIMING] unicase test:false 0.106
   Compiling utf8_iter v1.0.4
error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
    --> src/tools/rust-analyzer/crates/hir-ty/src/display.rs:1216:37
     |
1216 |                     TyKind::Dynamic(bounds, region, _) => {
     |                                     ^^^^^^  ^^^^^^  ^ expected 2 fields, found 3
     |
    ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
     |
 154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
     |             -----------------------------  --------- tuple variant has 2 fields

[RUSTC-TIMING] percent_encoding test:false 0.103
[RUSTC-TIMING] toml_write test:false 0.135
[RUSTC-TIMING] utf8_iter test:false 0.078
---
    |                             ^^^^^^  ^  ^ expected 2 fields, found 3
    |
   ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
    |
154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
    |             -----------------------------  --------- tuple variant has 2 fields

[RUSTC-TIMING] form_urlencoded test:false 0.101
error[E0023]: this pattern has 3 fields, but the corresponding tuple variant has 2 fields
    --> src/tools/rust-analyzer/crates/hir-ty/src/mir/eval.rs:2449:31
     |
2449 |             | TyKind::Dynamic(_, _, _)
     |                               ^  ^  ^ expected 2 fields, found 3
     |
    ::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:154:13
     |
 154 |     Dynamic(I::BoundExistentialPredicates, I::Region),
     |             -----------------------------  --------- tuple variant has 2 fields

[RUSTC-TIMING] idna test:false 0.592
    Checking thiserror v1.0.69
[RUSTC-TIMING] thiserror test:false 0.036

@lnicola lnicola closed this Sep 18, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 18, 2025
@lnicola lnicola deleted the sync-from-ra branch September 18, 2025 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.