about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
AgeCommit message (Collapse)AuthorLines
2024-10-22Merge pull request #18254 from ChayimFriedman2/fix-mutLukas Wirth-860/+1171
fix: Nail destructuring assignment once and for all
2024-10-22Add test for tuple struct destructuring assignment where the path comes from ↵Chayim Refael Friedman-0/+34
a macro
2024-10-22docs: remove unnecessary prerequisites setup.mdDavid Kurilla-9/+3
2024-10-22Merge binding_mode inlay hints into oneLukas Wirth-11/+29
2024-10-22Merge adjustment inlay hints into oneLukas Wirth-145/+83
2024-10-22Merge closure capture inlay hints into oneLukas Wirth-90/+41
2024-10-22Merge pull request #18372 from Kobzol/ci-merge-queueMarco Ieni-20/+17
Switch CI from bors to merge queues
2024-10-22Auto merge of #18370 - duncpro:goto-def-ranges, r=Veykrilbors-8/+124
feat: resolve range patterns to their structs Closes #18367
2024-10-22Auto merge of #18368 - Veykril:test-lsif_contains_generated_macros, r=lnicolabors-17/+199
tests: Add `lsif_contains_generated_constant` test Closes https://github.com/rust-lang/rust-analyzer/pull/18309
2024-10-22Switch CI from bors to merge queuesJakub Beránek-20/+17
2024-10-22Auto merge of #18349 - dqkqd:issue-18344, r=Veykrilbors-1/+166
feat: render docs from aliased type when type has no docs Trying to close #18344 - [x] ~Find the docs by traversing upwards if the type itself has none but aliasing for another type that might have.~ - [x] Show docs from aliased type. - [x] Showing description that we are displaying documentation for different definition in hover box. ![image](https://github.com/user-attachments/assets/820d6f97-aa2c-4dc4-8a25-75746e32d950)
2024-10-22Auto merge of #18371 - Veykril:veykril/push-kwttrusywysp, r=Veykrilbors-25/+184
fix: Fix incorrect parsing of use bounds Fixes https://github.com/rust-lang/rust-analyzer/issues/18357
2024-10-22fix: Fix incorrect parsing of use boundsLukas Wirth-25/+184
Also lower them a bit more
2024-10-22feat: render docs from aliased type when docs are missingKhanh Duong Quoc-1/+166
2024-10-22tidyDuncan Proctor-2/+1
2024-10-22tidyDuncan Proctor-5/+5
2024-10-22remove duplicate testDuncan Proctor-16/+0
2024-10-22resolve range patterns to the their struct typesDuncan Proctor-8/+141
2024-10-22Fix new nightly lintsLukas Wirth-51/+81
2024-10-22tests: Add `lsif_contains_generated_constant` testJohann Hemmann-17/+199
2024-10-22Cleanup file structure proto handlingLukas Wirth-10/+3
2024-10-22Fix status bar messagen not being marked markdownLukas Wirth-1/+1
2024-10-22Auto merge of #18362 - duncpro:goto-def-ranges, r=Veykrilbors-17/+139
feat: goto definition on range operators Closes #18342
2024-10-22tidyDuncan Proctor-15/+27
2024-10-22Replace some LayoutError variants with the rustc_abi errorsLaurențiu Nicola-24/+22
2024-10-22Bump rustc cratesLaurențiu Nicola-5/+5
2024-10-22Merge from rust-lang/rustLaurențiu Nicola-5/+4
2024-10-22Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2024-10-22goto definition on RangeFrom, RangeFull, RangeTo, and RangeToInclusive links ↵Duncan Proctor-36/+65
to respective struct
2024-10-21Move explicit range handling out of goto_definition, use OperatorClass insteadduncanproctor-53/+70
2024-10-21Auto merge of #18360 - roife:safe-kw-3, r=Veykrilbors-54/+146
feat: better completions for extern blcoks This PR refactors `add_keywords` (making it much clearer!) and enhances completion for `extern` blocks. It is recommended to reviewing the changes in order of the commits: - The first commit (f3c4dde0a4917a2bac98605cc045eecfb4d69872) doesn’t change any logic but refactors parts of the `add_keywords` function and adds detailed comments. - The second commit (5dcc1ab649bf8a49cadf006d620871b12f093a2f) improves completion for `extern` kw and extern blocks.
2024-10-22minor: refactor completions in item_listroife-27/+24
2024-10-21GotoDefinition on a Range or InclusiveRange operator will link to the struct ↵duncanproctor-4/+68
definition
2024-10-21Auto merge of #18361 - Veykril:veykril/push-uzsokssoyznx, r=Veykrilbors-41/+125
fix: Fix token downmapping failing for include! inputs Supercedes https://github.com/rust-lang/rust-analyzer/pull/18325 Fixes https://github.com/rust-lang/rust-analyzer/pull/18325 Fixes https://github.com/rust-lang/rust-analyzer/issues/18313 Fixes https://github.com/rust-lang/rust-analyzer/issues/18314
2024-10-21fix: Fix token downmapping failing for include! inputsLukas Wirth-41/+125
2024-10-21feat: better completions for extern blcoksroife-18/+104
2024-10-21refactor add_keywords in ide-completions for clarityroife-47/+56
2024-10-21Auto merge of #18359 - Daanoz:support-initializeStopped, r=Veykrilbors-1/+17
feat: support initializeStopped setting See #18356 Add option to start rust-analyzer in "stopped" state when the extension activates.
2024-10-21Auto merge of #18294 - Giga-Bowser:master, r=Veykrilbors-2387/+4718
Add wrap/unwrap return type in Option I pretty much just copied over the code and tests for wrapping/unwrapping return types in `Result` and then did a bunch of find and replace changes. I handled unwrapping statements returning `None` by just replacing `None` with the unit type, but I'm open to suggestions for more intuitive behavior here.
2024-10-21Auto merge of #18337 - dqkqd:issue-18287, r=Veykrilbors-4/+20
fix: private items are shown in completions for modules in fn body Close: #18287
2024-10-21fix: private items are shown in completions for modules in fn bodyKhanh Duong Quoc-4/+20
2024-10-21fix: FIx mbe bench tests being iteration order dependentLukas Wirth-5/+8
2024-10-21Update ide testsLukas Wirth-178/+179
2024-10-21Fix recursive_adt fixtureLukas Wirth-6/+8
2024-10-21Update rustc-hash to version 2Noratrieb-31/+34
This brings in the new optimized algorithm that was shown to have small performance benefits for rustc.
2024-10-21feat: support initializeStopped settingDaan Sieben-1/+17
2024-10-20Auto merge of #18354 - roife:safe-kw-2, r=lnicolabors-11/+11
fix: classify `safe` as a contextual kw fix #18352
2024-10-21fix: classify `safe` as a contextual kwroife-11/+11
2024-10-20Store patterns desugared from destructuring assignments in source mapChayim Refael Friedman-174/+280
And few more fixups. I was worried this will lead to more memory usage since `ExprOrPatId` is double the size of `ExprId`, but this does not regress `analysis-stats .`. If this turns out to be a problem, we can easily use the high bit to encode this information.
2024-10-20Handle destructuring assignments uniformlyChayim Refael Friedman-707/+886
Instead of lowering them to `<expr> = <expr>`, then hacking on-demand to resolve them, we lower them to `<pat> = <expr>`, and use the pattern infrastructure to handle them. It turns out, destructuring assignments are surprisingly similar to pattern bindings, and so only minor modifications are needed. This fixes few bugs that arose because of the non-uniform handling (for example, MIR lowering not handling slice and record patterns, and closure capture calculation not handling destructuring assignments at all), and furthermore, guarantees we won't have such bugs in the future, since the programmer will always have to explicitly handle `Expr::Assignment`. Tests don't pass yet; that's because the generated patterns do not exist in the source map. The next commit will fix that.