Shoyu Vanilla
f4dfbc38c8
feat: Implement arbitrary-self-types
2025-01-24 22:50:59 +09:00
Teodor Tanasoaia
90533a0ad5
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
Wilfred Hughes
86a4b2fdd7
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
Chayim Refael Friedman
8e0bc9f67f
Sort completion items that skip await
and iter()
behind those that don't
...
I don't think my ranking is perfect, because it places them even behind snippet completions, but this is something.
2025-01-21 11:44:38 +02:00
Lukas Wirth
2c040c03cf
Merge pull request #18986 from Veykril/push-zlwvwlowpzqm
...
Goto `Display::fmt` when invoked on `to_string`
2025-01-21 09:25:05 +00:00
Lukas Wirth
76585539f5
Cleanup Name
string rendering
2025-01-21 10:05:32 +01:00
Lukas Wirth
c78cc2baa9
Merge pull request #18977 from ChayimFriedman2/fix-upmapping
...
fix: Fix missing upmapping in trait impls completion
2025-01-21 07:41:22 +00:00
Chayim Refael Friedman
ce1759635b
Fix another bug with completion of trait items inside macros
...
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-20 21:21:42 +02:00
Lukas Wirth
a3eee10638
Goto Display::fmt
when invoked on to_string
2025-01-20 17:00:28 +01:00
Lukas Wirth
0fdab1be36
Bring back goto def redirect for parse -> FromStr
2025-01-20 16:32:17 +01:00
Lukas Wirth
03ea40369f
Move dual blanket impl logic from source analyzer to goto_def
2025-01-20 16:24:42 +01:00
Lukas Wirth
93a5846784
Merge pull request #18967 from Veykril/push-pwonkmwqmmol
...
Properly record meaningful imports as re-exports in symbol index
2025-01-20 13:46:52 +00:00
Lukas Wirth
b2f822b074
Merge pull request #18934 from 1hakusai1/goto_definition_from_into
...
feat: Add the ability to jump from `into` to `from` definitions
2025-01-20 13:46:47 +00:00
Lukas Wirth
8a5aa80488
Merge pull request #18982 from Veykril/push-lstmvzsowxyt
...
Extract variable assist triggers less eagerly
2025-01-20 13:45:26 +00:00
Lukas Wirth
40ba51cb02
Merge pull request #18976 from ChayimFriedman2/non-module-generic-args
...
fix: Fix a bug where enum variants were not considered properly in type ns resolution
2025-01-20 13:35:03 +00:00
Lukas Wirth
a06606c802
Fix import search not discarding rawness
2025-01-20 14:29:11 +01:00
Lukas Wirth
20ff27e2ba
Less allocs
2025-01-20 14:29:11 +01:00
Lukas Wirth
0480ebef75
Preserve impl assoc names in ImplData
2025-01-20 14:29:11 +01:00
Lukas Wirth
76c1a376c3
Vec -> Box<[_]>
2025-01-20 14:29:11 +01:00
Lukas Wirth
51cc1a4614
Properly record meaningful imports as re-exports in symbol index
2025-01-20 14:29:11 +01:00
1hakusai1
913ec54f84
Add a test case
2025-01-20 21:22:58 +09:00
1hakusai1
5384dd8947
Use Semantics::resolve_method_call_as_callable to find implementation
2025-01-20 21:17:48 +09:00
Laurențiu Nicola
46e2d6ec01
Merge pull request #18981 from Fabian-Gruenbichler/proc-macro-srv-portability
...
proc-macro-srv: make usage of RTLD_DEEPBIND portable
2025-01-20 09:35:11 +00:00
Fabian Grünbichler
73fc468a8f
proc-macro-srv: make usage of RTLD_DEEPBIND portable
...
the constant is wrong on some platforms (e.g., on mips64el it's 0x10, and 0x8
is RTLD_NOLOAD which makes all this functionality broken), the libc crate takes
care of those differences for us.
fallback to not setting the flag in non-glibc environments - some of them might
have support for it using a different value that we don't know about, and some
of them lack it entirely.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-01-20 10:19:24 +01:00
Laurențiu Nicola
a9e1e65ae8
Merge from rust-lang/rust
2025-01-20 11:09:36 +02:00
Chayim Refael Friedman
a2826598f5
Fix missing upmapping in trait impls completion
2025-01-19 12:47:19 +02:00
Chayim Refael Friedman
044c831f7f
Fix a bug where enum variants were not considered properly in type ns resolution
...
They should be considered just as well as in value ns, for example for struct literals.
2025-01-19 06:31:23 +02:00
Laurențiu Nicola
248bd511ae
Merge pull request #18966 from lnicola/bump-windows-sys
...
minor: Bump `windows-sys`
2025-01-18 15:59:53 +00:00
Lukas Wirth
2cd26fd9f5
Merge pull request #18968 from Veykril/push-szvltqqttsyy
...
fix: `cargo rustc --print` needs `unstable-options`
2025-01-18 11:21:03 +00:00
Lukas Wirth
0f7b85a9d6
fix: cargo rustc --print
needs unstable-options
2025-01-18 12:04:57 +01:00
Lukas Wirth
b1def0ce47
Extract variable assist triggers less eagerly
2025-01-18 09:52:56 +01:00
Laurențiu Nicola
d01fb4d45a
Bump windows-sys
2025-01-17 21:28:11 +02:00
gvozdvmozgu
790d4ac011
add missing Win32_Foundation
feature
2025-01-17 08:44:50 -08:00
Lukas Wirth
cd199eacd0
Merge pull request #18908 from jnyfah/error-braces
...
Fix: Detect missing errors for } braces before else in let...else statements
2025-01-17 13:29:56 +00:00
jnyfah
31c07e4676
CRLF to LF
2025-01-16 16:46:06 +01:00
jnyfah
b96819ca44
added tests
2025-01-16 16:19:47 +01:00
Lukas Wirth
903bc8133c
Merge pull request #18952 from lh123/add-raw-keyword-complete
...
feat: complete raw, const keyword
2025-01-16 14:24:53 +00:00
jnyfah
2ac6cb1521
revert blocklike changes
2025-01-16 12:54:26 +01:00
lh123
a282733b49
don't complete raw
in &mut $0
2025-01-16 19:40:42 +08:00
VinTarZ
d71015d90d
Fix debug_assertions
broken in 1c5a125beb35725ccc2ade005db9870db734bf23
2025-01-16 14:19:16 +03:00
jnyfah
e3deeec2f2
update blocklike
2025-01-16 12:11:55 +01:00
lh123
9809143562
feat: complete raw, const keyword
2025-01-16 18:27:59 +08:00
Lukas Wirth
132a2a03c4
Merge pull request #18951 from Veykril/push-zpvunsvlpuxt
...
Add missing `#[rust_analyzer::rust_fixture]` annotations
2025-01-16 10:21:22 +00:00
Lukas Wirth
2ca2e56d51
Merge pull request #18950 from Veykril/push-okmsynnltxts
...
Generalize some type walking in hover type actions
2025-01-16 10:19:37 +00:00
Lukas Wirth
3361b5701a
Generalize some type walking in hover type actions
2025-01-16 11:06:11 +01:00
Lukas Wirth
24e1db2f0c
Minor docs improvement
2025-01-16 11:05:20 +01:00
Lukas Wirth
71f1c4470d
Add edit test for await skipping completions
2025-01-16 10:56:57 +01:00
Lukas Wirth
3e2848dc59
Add missing #[rust_analyzer::rust_fixture]
annotations
2025-01-16 10:51:57 +01:00
Lukas Wirth
954ed7bb74
Merge pull request #18949 from Veykril/push-yzklntsnnuts
...
Partially back out "fix: Fix sourceroot construction for virtual manifests"
2025-01-16 09:18:48 +00:00
Lukas Wirth
52a6f430ef
Partially back out "fix: Fix sourceroot construction for virtual manifests"
2025-01-16 10:02:26 +01:00