rust-analyzer subtree update#146805
Conversation
remove duplicate field in Debug impl of ProjectWorkspace
…on_generate_by_indent_token fix: generate function by indet token
Add write! and writeln! to minicore
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!
internal: Make flycheck generational
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.
Rustc pull update
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
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
|
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 |
|
|
@bors r+ rollup=never |
|
☀️ Test successful - checks-actions |
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 b00998a (parent) -> 9f2ef0f (this PR) Test differencesShow 2 test diffs2 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 9f2ef0f14d6028c5108643cafa6e2c617834594b --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 (9f2ef0f): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary 3.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 3.2%)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: 471.747s -> 471.07s (-0.14%) |
`rust-analyzer` subtree update Subtree update of `rust-analyzer` to rust-lang/rust-analyzer@0c62c01. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
`rust-analyzer` subtree update Subtree update of `rust-analyzer` to rust-lang/rust-analyzer@0c62c01. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
`rust-analyzer` subtree update Subtree update of `rust-analyzer` to rust-lang/rust-analyzer@0c62c01. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
Subtree update of
rust-analyzerto rust-lang/rust-analyzer@0c62c01.Created using https://github.com/rust-lang/josh-sync.
r? @ghost