Skip to content

Conversation

lnicola
Copy link
Member

@lnicola lnicola commented Sep 20, 2025

Subtree update of rust-analyzer to rust-lang/rust-analyzer@0c62c01.

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

r? @ghost

lnicola and others added 30 commits August 9, 2025 04:28
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!
This updates the rust-version file to 21a19c2.
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 21a19c2
Filtered ref: 9a5c1fb93028e1a29a7598ce782efb0c5d7be534

This merge was created using https://github.com/rust-lang/josh-sync.
hotfix: Update flycheck diagnostics generation
feat: Add Config Option to Exclude Locals from Document Symbol Search
fix: Panic while trying to clear old diagnostics while there's nothing
…fault_member_to_resolve_ident_pat

Fix "Implement default members" to resolve IdentPat
…erify

Switch from Chalk to the next trait solver
ChayimFriedman2 and others added 22 commits September 18, 2025 00:19
fix: Port a bunch of stuff from rustc and fix a bunch of type mismatches/diagnostics
…tree

fix: Fix `indexmap` with `in-rust-tree`
minor: Set `WithCachedTypeInfo::stable_hash` when in-tree
minor: Get rid of unused deps `chalk-solve` and `chalk-recursive`
…eric-literals

fix negative const generic integer literals
…test

Add `#[track_caller]` for check_assist_by_label
minor: Bump rustc crates once more
@rustbot
Copy link
Collaborator

rustbot commented Sep 20, 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 20, 2025
@rustbot
Copy link
Collaborator

rustbot commented Sep 20, 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.

@lnicola
Copy link
Member Author

lnicola commented Sep 20, 2025

@bors r+ rollup=never

@bors
Copy link
Collaborator

bors commented Sep 20, 2025

📌 Commit 0afd767 has been approved by lnicola

It is now in the queue for this repository.

@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 Sep 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.