Commit graph

278792 commits

Author SHA1 Message Date
Chayim Refael Friedman
1360b4c3a1 In completion's expand, consider recursion stop condition (when we're not inside a macro call anymore) *after* the recursive call instead of before it
This is because our detection is imperfect, and miss some cases such as an impersonating `test` macro, so we hope we'll expand successfully in this case.
2025-01-26 19:08:10 +02:00
Lukas Wirth
a7cbe4bedd
Merge pull request #19035 from rust-lang/Veykril-patch-1
Update outdated permissions section in the README.md
2025-01-26 07:12:02 +00:00
Lukas Wirth
9ad59150e6
Update outdated permissions section in the README.md 2025-01-26 07:57:08 +01:00
Lukas Wirth
176852ba85
Merge pull request #19034 from ChayimFriedman2/complete-hidden-variant
fix: Don't complete doc(hidden) enum variants and use trees
2025-01-26 06:47:34 +00:00
Chayim Refael Friedman
bbf9ff69c9
Merge pull request #19033 from ChayimFriedman2/span-1
fix: Make proc_macro span's line & column 1-indexed, as documented
2025-01-26 06:41:54 +00:00
Chayim Refael Friedman
3149e0ff83 Make proc_macro span's line & column 1-indexed, as documented
That is, make the fake number that we return 1 and not 0.
2025-01-26 08:27:24 +02:00
Chayim Refael Friedman
9ae0e7bb25 Don't complete doc(hidden) enum variants and use trees
Also refactor the check a bit.
2025-01-26 00:13:11 +02:00
Lukas Wirth
2d94c69c6b
Merge pull request #19020 from ShoyuVanilla/issues-19007
fix: Prevent infinite recursion of bounds formatting
2025-01-25 19:03:54 +00:00
Shoyu Vanilla
9691d2201c fix: Prevent infinite recursion of bounds formatting 2025-01-26 03:37:00 +09:00
Lukas Wirth
c1db5da2fe
Merge pull request #19030 from Veykril/push-wuzvopyooznm
fix: Fix markdown horizontal ruler sometimes being treated as a heading
2025-01-25 13:22:39 +00:00
Lukas Wirth
a5cd6c0756 fix: Fix markdown horizontal ruler sometimes being treated as a heading 2025-01-25 14:07:54 +01:00
Lukas Wirth
80615d963d
Merge pull request #18909 from Veykril/push-rrpprwwzttkt
Use `strict_provenance`
2025-01-25 13:06:26 +00:00
Lukas Wirth
105ea3bc1d Use strict_provenance 2025-01-25 13:47:07 +01:00
Lukas Wirth
a91b571b5f
Merge pull request #19029 from Veykril/push-wklzwzqvkrou
internal: Skip redundant path search in `resolve_completion_edits`
2025-01-25 12:17:22 +00:00
Lukas Wirth
5d94c97ddb Skip redundant path search in resolve_completion_edits 2025-01-25 13:03:01 +01:00
Lukas Wirth
58401ab0c8
Merge pull request #19028 from Veykril/push-vuytpkvqzwzs
fix: Fix flyimport not filtering via stability of import path
2025-01-25 11:34:36 +00:00
Lukas Wirth
0db8d05b52 Fix flyimport not filtering via stability of import path 2025-01-25 12:18:54 +01:00
Lukas Wirth
f45b8ad7f8
Merge pull request #19026 from Veykril/push-wrxrutptywzx
Only collect implicit visibile use symbols if they have renames
2025-01-25 10:27:26 +00:00
Lukas Wirth
592eceedf5 Only collect implicit visibile use symbols if they have renames
Otherwise this will pollute the index too much with unnecessary symbols
2025-01-25 11:12:06 +01:00
Lukas Wirth
37fc7ee6bb
Merge pull request #18973 from ThouCheese/feat/nice-niches
Make niches into nices
2025-01-25 09:17:05 +00:00
Lukas Wirth
7a7eb69f96
Merge pull request #19023 from Wilfred/sequence_type_names
minor: Suggest better names when a type is a sequence
2025-01-25 08:13:42 +00:00
Lukas Wirth
165d78a245
Merge pull request #19019 from darichey/add-buildfiles
Explicitly add buildfiles when constructing ProjectFolders
2025-01-25 08:02:38 +00:00
Wilfred Hughes
fff24d52ee minor: Suggest better names when a type is a sequence
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-24 11:30:19 -08:00
David Richey
0a14e17523 Explicitly add buildfiles when constructing ProjectFolders 2025-01-24 09:59:06 -06:00
Lukas Wirth
8063b1ec04
Merge pull request #19018 from Veykril/push-wxqqunxwrply
internal: Record the use tree index in glob imports
2025-01-24 14:27:49 +00:00
Lukas Wirth
51b323f1b2
Merge pull request #18991 from Veykril/push-rmqmnrymwmoz
Keep already computed inlay hint properties instead of late resolving them
2025-01-24 14:27:43 +00:00
Lukas Wirth
b44570fd5e Lazily compute location links in type hints again 2025-01-24 15:13:10 +01:00
Lukas Wirth
1e5f47bf09 Record the use tree index in glob imports 2025-01-24 15:12:48 +01:00
Shoyu Vanilla
1dc34eeb99 Add a new failing test that overflows stack 2025-01-24 23:06:02 +09:00
Lukas Wirth
3e6a9330d8
Merge pull request #19012 from ShoyuVanilla/arbitrary-self
feat: Implement `arbitrary-self-types`
2025-01-24 14:04:34 +00:00
Shoyu Vanilla
024da87502 feat: Implement arbitrary-self-types 2025-01-24 22:50:59 +09:00
Lukas Wirth
b7997e06ba
Merge pull request #19017 from Veykril/push-uktrsknwmsvy
fix: Fix flycheck panicking with "once" invocation strategy
2025-01-24 13:37:17 +00:00
Lukas Wirth
c3e88ae1c6
Merge pull request #18993 from ChayimFriedman2/iter-config
feat: Provide a config to control auto-insertion of `await` and `iter()`
2025-01-24 13:31:30 +00:00
Lukas Wirth
5d9df43c72
Merge pull request #18994 from Wilfred/failed_rustc_cfg_as_warning
internal: Treat cfg fetching failures as a warning
2025-01-24 13:31:00 +00:00
Lukas Wirth
2a9e6fbe90
Merge pull request #19016 from Veykril/push-moqnsytyrupu
fix: Fix `ItemScope` not recording glob imports
2025-01-24 13:25:39 +00:00
Lukas Wirth
dfd94903c8 fix: Fix flycheck panicking with "once" invocation strategy
We only ever have one flycheck runner no matter the number of workspaces, so just kick off flycheck for it immediately
2025-01-24 14:23:11 +01:00
Lukas Wirth
a365f732ea
Merge pull request #19014 from darichey/fix-cfg-macro
Check cfg when collecting macro defs
2025-01-24 13:13:48 +00:00
Lukas Wirth
99b0ab5f52 Fix ItemScope not recording glob imports
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-24 14:11:45 +01:00
David Richey
27084a25a4 Check cfg when collecting macro defs 2025-01-23 17:36:45 -06:00
Laurențiu Nicola
7ba18daca7
Merge pull request #19009 from lnicola/dont-just-die
minor: Rephrase comment
2025-01-23 12:09:49 +00:00
Laurențiu Nicola
a32f64dc30 Rephrase comment 2025-01-23 13:52:39 +02:00
Chayim Refael Friedman
3ca106683e
Merge pull request #19004 from teoxoy/patch-1
increase `AUTODEREF_RECURSION_LIMIT` to 20
2025-01-22 21:36:12 +00:00
Teodor Tanasoaia
2eef052f04
increase AUTODEREF_RECURSION_LIMIT to 20
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-22 22:21:02 +01:00
Laurențiu Nicola
fa272edebb
Merge pull request #18878 from Wilfred/document_build_info
manual: Document all rust-project.json fields
2025-01-22 06:27:41 +00:00
Wilfred Hughes
98582b23ab manual: Document all rust-project.json fields
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-21 12:00:13 -08:00
Wilfred Hughes
c5ccf86e90 internal: Treat cfg fetching failures as a warning
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-21 11:07:07 -08:00
Chayim Refael Friedman
5059c1a870 Provide a config to control auto-insertion of await and iter() 2025-01-21 18:51:09 +02:00
Lukas Wirth
802d9d5386 Keep already computed inlay hint properties instead of late resolving them 2025-01-21 16:16:51 +01:00
Lukas Wirth
284e0cd749 Make InlayHint::linked_location computation lazy 2025-01-21 16:16:50 +01:00
Luuk Wester
d8553c9c05 remove is_pwr2 2025-01-21 14:47:07 +01:00