-
Notifications
You must be signed in to change notification settings - Fork 13.8k
rust-analyzer
subtree update
#146805
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
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
fix: Port a bunch of stuff from rustc and fix a bunch of type mismatches/diagnostics
minor: Update rustc deps
minor: Bump rustc crates again
…tree fix: Fix `indexmap` with `in-rust-tree`
minor: Yet another rustc crates bump
fix: Fix one more thing in `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
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 |
Subtree update of
rust-analyzer
to rust-lang/rust-analyzer@0c62c01.Created using https://github.com/rust-lang/josh-sync.
r? @ghost