about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-01-24minor: Suggest better names when a type is a sequenceWilfred Hughes-10/+93
Previously, we'd suggest a type of `vec` for a value of type `Vec<T>`, which is rarely what the user wants. We also had no suggestions for values of type `&[T]`. Instead, try to pluralise the inner type name, and fall back to `items`.
2025-01-24Merge pull request #19018 from Veykril/push-wxqqunxwrplyLukas Wirth-95/+112
internal: Record the use tree index in glob imports
2025-01-24Merge pull request #18991 from Veykril/push-rmqmnrymwmozLukas Wirth-322/+433
Keep already computed inlay hint properties instead of late resolving them
2025-01-24Lazily compute location links in type hints againLukas Wirth-9/+18
2025-01-24Record the use tree index in glob importsLukas Wirth-95/+112
2025-01-24Merge pull request #19012 from ShoyuVanilla/arbitrary-selfLukas Wirth-26/+129
feat: Implement `arbitrary-self-types`
2025-01-24feat: Implement `arbitrary-self-types`Shoyu Vanilla-26/+129
2025-01-24Merge pull request #19017 from Veykril/push-uktrsknwmsvyLukas Wirth-10/+26
fix: Fix flycheck panicking with "once" invocation strategy
2025-01-24Merge pull request #18993 from ChayimFriedman2/iter-configLukas Wirth-56/+111
feat: Provide a config to control auto-insertion of `await` and `iter()`
2025-01-24Merge pull request #18994 from Wilfred/failed_rustc_cfg_as_warningLukas Wirth-1/+1
internal: Treat cfg fetching failures as a warning
2025-01-24Merge pull request #19016 from Veykril/push-moqnsytyrupuLukas Wirth-208/+234
fix: Fix `ItemScope` not recording glob imports
2025-01-24fix: Fix flycheck panicking with "once" invocation strategyLukas Wirth-10/+26
We only ever have one flycheck runner no matter the number of workspaces, so just kick off flycheck for it immediately
2025-01-24Merge pull request #19014 from darichey/fix-cfg-macroLukas Wirth-0/+6
Check cfg when collecting macro defs
2025-01-24Fix `ItemScope` not recording glob importsLukas Wirth-208/+234
This caused us other code to incorrectly assume in dealing with a declaration when in fact it was dealing with a glob imported definition
2025-01-23Check cfg when collecting macro defsDavid Richey-0/+6
2025-01-23Merge pull request #19009 from lnicola/dont-just-dieLaurențiu Nicola-3/+3
minor: Rephrase comment
2025-01-23Rephrase commentLaurențiu Nicola-3/+3
2025-01-22Merge pull request #19004 from teoxoy/patch-1Chayim Refael Friedman-2/+2
increase `AUTODEREF_RECURSION_LIMIT` to 20
2025-01-22increase `AUTODEREF_RECURSION_LIMIT` to 20Teodor Tanasoaia-2/+2
The limit was introduced in https://github.com/rust-lang/rust-analyzer/pull/1408#discussion_r294059044 to avoid infinite cycles but it effectively caps the number of derefs to 10. Types like `ID3D12Device14` from the `windows` crate run into this because it derefs to `ID3D12Device13`, 13 to 12 and so on. Increasing it to 20 is a quick fix; a better cycle detection method would be nicer long term.
2025-01-22Merge pull request #18878 from Wilfred/document_build_infoLaurențiu Nicola-8/+84
manual: Document all rust-project.json fields
2025-01-21manual: Document all rust-project.json fieldsWilfred Hughes-8/+84
Ensure that all the fields that rust-analyzer understands are in the manual, they all have doc comments, and they use consistent punctuation (`;` rather than mixing `,` and `;`). Whilst we're here, fix the `sysroot_src` example and add 2024 as a legal value for Rust edition.
2025-01-21internal: Treat cfg fetching failures as a warningWilfred Hughes-1/+1
If the user doesn't have rustc on $PATH, rust-analyzer won't be able to run `rustc --print cfg`. This isn't really an error, as rust-analyzer can still proceed without it. This is particularly noticeable when loading crates defined in a rust-project.json. Until the configuration is loaded, the opened files are briefly treated as detached files and users see this error. Environments with rust-project.json generally have a sysroot and rustc elsewhere, so the error confuses users.
2025-01-21Provide a config to control auto-insertion of `await` and `iter()`Chayim Refael Friedman-56/+111
2025-01-21Keep already computed inlay hint properties instead of late resolving themLukas Wirth-92/+99
2025-01-21Make `InlayHint::linked_location` computation lazyLukas Wirth-204/+285
2025-01-21Fix Param::as_local treating closures wrongLukas Wirth-53/+67
2025-01-21Merge pull request #18988 from ChayimFriedman2/iter-relevanceChayim Refael Friedman-0/+26
fix: Sort completion items that skip `await` and `iter()` behind those that don't
2025-01-21Sort completion items that skip `await` and `iter()` behind those that don'tChayim Refael Friedman-0/+26
I don't think my ranking is perfect, because it places them even behind snippet completions, but this is something.
2025-01-21Merge pull request #18986 from Veykril/push-zlwvwlowpzqmLukas Wirth-0/+49
Goto `Display::fmt` when invoked on `to_string`
2025-01-21Merge pull request #18990 from Veykril/push-tqonnqxyrnsvLukas Wirth-249/+145
internal: Cleanup `Name` string rendering
2025-01-21Cleanup `Name` string renderingLukas Wirth-249/+145
2025-01-21Merge pull request #18977 from ChayimFriedman2/fix-upmappingLukas Wirth-13/+68
fix: Fix missing upmapping in trait impls completion
2025-01-21Merge pull request #18989 from Giga-Bowser/syntax-tree-refreshLukas Wirth-1/+8
fix: Only refresh syntax tree view when the active document changes
2025-01-20Fix another bug with completion of trait items inside macrosChayim Refael Friedman-11/+36
This time, when completing the keyword (e.g. `fn` + whitespace). The bug was actually a double-bug: First, we did not resolve the impl in the macro-expanded file but in the real file, which of course cannot work. Second, in analysis the whitespace was correlated with the `impl` and not the incomplete `fn`, which caused fake (where we insert an identifier after the whitespace) and real expansions to go out of sync, which failed analysis. The fix is to skip whitespaces in analysis.
2025-01-20fix: Only refresh syntax tree view when the active document changesGiga Bowser-1/+8
2025-01-20Goto `Display::fmt` when invoked on `to_string`Lukas Wirth-0/+49
2025-01-20Merge pull request #18984 from Veykril/push-nszlmxoxyxssLukas Wirth-83/+117
internal: Move dual blanket impl logic from source analyzer to goto_def
2025-01-20Bring back goto def redirect for parse -> FromStrLukas Wirth-4/+59
2025-01-20Move dual blanket impl logic from source analyzer to goto_defLukas Wirth-114/+93
2025-01-20Merge pull request #18967 from Veykril/push-pwonkmwqmmolLukas Wirth-265/+368
Properly record meaningful imports as re-exports in symbol index
2025-01-20Merge pull request #18934 from 1hakusai1/goto_definition_from_intoLukas Wirth-2/+278
feat: Add the ability to jump from `into` to `from` definitions
2025-01-20Merge pull request #18982 from Veykril/push-lstmvzsowxytLukas Wirth-7/+15
Extract variable assist triggers less eagerly
2025-01-20Merge pull request #18972 from ↵Lukas Wirth-12/+42
osiewicz/drop-outgoing-messages-on-background-thread lsp-server: Drop outgoing messages on background thread
2025-01-20Merge pull request #18976 from ChayimFriedman2/non-module-generic-argsLukas Wirth-29/+81
fix: Fix a bug where enum variants were not considered properly in type ns resolution
2025-01-20Fix import search not discarding rawnessLukas Wirth-29/+65
2025-01-20Less allocsLukas Wirth-19/+30
2025-01-20Preserve impl assoc names in ImplDataLukas Wirth-89/+78
2025-01-20Vec -> Box<[_]>Lukas Wirth-9/+6
2025-01-20Properly record meaningful imports as re-exports in symbol indexLukas Wirth-143/+213
2025-01-20Add a test case1hakusai1-0/+24