Ryo Yoshida
e9ddb62c65
Expand more single ident macro calls upon their collection
2023-05-14 03:11:10 +09:00
mataha
9fff960636
Remove root from patched UNC windows path drives
2023-05-13 18:38:12 +02:00
bors
db8f39ce19
Auto merge of #14797 - Veykril:symbol-query, r=Veykril
...
fix: Fix perf regression from symbol index refactor
Should fix the regressions introduced by https://github.com/rust-lang/rust-analyzer/pull/14715 by partially rolling back the PR
2023-05-13 15:41:54 +00:00
Lukas Wirth
2e03b198ca
fix: Fix perf regression from symbol index refactor
2023-05-13 17:41:09 +02:00
bors
a7944a93a1
Auto merge of #14735 - Veykril:forbid-relative-json, r=Veykril
...
internal: Forbid canonicalization of paths and normalize all rust-project.json paths
Closes https://github.com/rust-lang/rust-analyzer/issues/14728
cc https://github.com/rust-lang/rust-analyzer/pull/14430
- Removes canonicalization (and forbids it from being used in a sense, clippy could help here again with its lint in the future)
- Normalizes all paths in rust-project.json which we weren't doing in some cases
2023-05-13 10:01:03 +00:00
Lukas Wirth
f47caa666e
Add AbsPath::absolutize
2023-05-13 11:51:28 +02:00
Lukas Wirth
8e116855f5
Add macro modifier for highlighting tokens in macro calls
2023-05-13 11:43:39 +02:00
Lukas Wirth
edd60f7b0d
Simplify bind pat filtering
2023-05-13 11:02:57 +02:00
Lukas Wirth
730286b523
Restructure InlayHint, no longer derive properties from its kind
2023-05-13 10:42:26 +02:00
hkalbasi
cbcafd3539
MIR episode 5
2023-05-12 18:17:15 +03:30
hkalbasi
7da80d4f67
Use double reference in debug derive
2023-05-12 12:36:57 +03:30
bors
9b3387454d
Auto merge of #14781 - lowr:patch/macro-subns-and-prelude, r=Veykril
...
Introduce macro sub-namespaces and `macro_use` prelude
This PR implements two mechanisms needed for correct macro name resolution: macro sub-namespace and `macro_use` prelude.
- [macro sub-namespaces][subns-ref]
Macros have two sub-namespaces: one for function-like macro and the other for those in attributes (including custom derive macros). When we're resolving a macro name for function-like macro, we should ignore non-function-like macros, and vice versa.
This helps resolve single-segment macro names because we can (and should, as rustc does) fallback to names in preludes when the name in the current module scope is in different sub-namespace.
- [`macro_use` prelude][prelude-ref]
`#[macro_use]`'d extern crate declarations (including the standard library) bring their macros into scope, but they should not be prioritized over local macros (those defined in place and those explicitly imported).
We have been bringing them into legacy (textual) macro scope, which has the highest precedence in name resolution. This PR introduces the `macro_use` prelude in crate-level `DefMap`s, whose precedence is lower than local macros but higher than the standard library prelude.
The first 3 commits are drive-by fixes/refactors.
Fixes #8828 (prelude)
Fixes #12505 (prelude)
Fixes #12734 (prelude)
Fixes #13683 (prelude)
Fixes #13821 (prelude)
Fixes #13974 (prelude)
Fixes #14254 (namespace)
[subns-ref]: https://doc.rust-lang.org/reference/names/namespaces.html#sub-namespaces
[prelude-ref]: https://doc.rust-lang.org/reference/names/preludes.html#macro_use-prelude
2023-05-11 14:26:59 +00:00
Ryo Yoshida
f2a35deb50
Consider macro sub-namespace during name resolution
2023-05-11 21:13:12 +09:00
Ryo Yoshida
3203ea896d
Add macro_use
prelude to DefMap
2023-05-11 21:13:11 +09:00
Ryo Yoshida
96113b7b8e
Remove prelude fallback path for Rust <1.52.0
...
We've already removed non-sysroot proc macro server, which effectively
removed support for Rust <1.64.0, so this removal of fallback path
shouldn't be problem at this point.
2023-05-11 21:13:10 +09:00
Ryo Yoshida
34a9129333
fix: column!()
and line!()
built-in macros return u32
2023-05-11 21:13:05 +09:00
Ryo Yoshida
a0a7860141
Refactor
2023-05-11 18:17:16 +09:00
Lukas Wirth
91d5a689c7
Add config for disabling non standard lsp highlight tokens
2023-05-11 10:01:38 +02:00
Lukas Wirth
4b42acf617
Add basic support for augmentsSyntaxTokens
2023-05-10 20:48:51 +02:00
ponyii
49f1092f14
add_missing_impl_members
and add_missing_default_members
break indentation no longer
2023-05-10 22:27:05 +04:00
ponyii
e07d6382de
add_missing_impl_members
no longer breaks indentation
2023-05-10 16:35:48 +04:00
ponyii
a0db4781dc
generate_derive
no longer breaks indentation
2023-05-10 16:35:43 +04:00
hecatia-elegua
2a182f3f1f
Add doc(alias)-based method completion
2023-05-10 12:51:08 +02:00
hecatia-elegua
d4b668a3bb
Prepare tidy.rs
2023-05-10 12:47:05 +02:00
bors
aaed89ac04
Auto merge of #14763 - lnicola:dep-tree-fixes, r=lnicola
...
Fix manual formatting and remove duplicate command
2023-05-08 18:28:58 +00:00
Laurențiu Nicola
10637cf3e8
Fix formatting
2023-05-08 21:27:43 +03:00
Laurențiu Nicola
b632c7d322
Fix broken table
2023-05-08 21:27:35 +03:00
bors
d3ce333ec8
Auto merge of #14742 - Veykril:closure-capture-inlays, r=Veykril
...
feat: Closure capture inlay hints
I opted for a fictional `move(foo, &bar, &mut qux)` syntax here, disabled by default as these are not correct rust syntax and hence could cause confusion.
![image](https://user-images.githubusercontent.com/3757771/236447484-649a4ea6-ad61-496e-bad8-765a5236150e.png )
2023-05-08 09:52:29 +00:00
Lukas Wirth
4c5fd19ee5
Render places in capture inlay hints
2023-05-08 09:50:58 +02:00
bors
ff8b969951
Auto merge of #14727 - HKalbasi:mir, r=HKalbasi
...
Lazy evaluate consts in `path_to_const`
fix #14275
2023-05-08 07:14:57 +00:00
bors
833d5301d1
Auto merge of #14758 - lumenian:hover-layout-config, r=HKalbasi
...
Add config for disabling hover memory layout data
Requested in https://github.com/rust-lang/rust-analyzer/pull/14748#issuecomment-1537190252
2023-05-07 16:22:57 +00:00
Yury Ivanou
8e1ba7fdab
Fix memory layout config not working for closures
2023-05-07 19:10:01 +03:00
Yury Ivanou
98a4c5049f
Rename hover memory layout config key
2023-05-07 18:37:56 +03:00
Yury Ivanou
4ed0fa8414
Add config for disabling hover memory layout data
2023-05-07 18:21:07 +03:00
Alexis (Poliorcetics) Bourget
5411836767
fix: simplify boolean test to a single negation
2023-05-07 09:44:07 +02:00
Alexis (Poliorcetics) Bourget
d7fdf141a4
fix: various clippy lints
2023-05-07 09:43:37 +02:00
Alexis (Poliorcetics) Bourget
900d6030e7
fix: remove useless return
s
2023-05-07 09:42:52 +02:00
bors
260e996140
Auto merge of #14733 - azdavis:master, r=matklad
...
Make line-index a lib, use nohash_hasher
These seem like they are not specific to rust-analyzer and could be pulled out to their own libraries. So I did.
https://github.com/azdavis/millet/issues/31
2023-05-06 23:37:02 +00:00
bors
a10fd83120
Auto merge of #14748 - lumenian:type-alias-layout, r=HKalbasi
...
Show type alias layout
This PR expands on #13490 to allow displaying layout data on hover for type aliases.
2023-05-06 19:18:30 +00:00
Ryo Yoshida
9360adccda
Ignore impls with #[rustc_reservation_impl]
2023-05-07 01:31:36 +09:00
Alexis (Poliorcetics) Bourget
3d70ba7f94
chore: remove unused method
2023-05-06 16:02:34 +02:00
Yury Ivanou
ecc081d625
Show type alias layout on hover
2023-05-06 16:58:57 +03:00
Ryo Yoshida
fa2340a4df
Parse associated return type bounds
2023-05-06 20:31:11 +09:00
Ryo Yoshida
d7d8971203
Remove (..)
-style return type notation
2023-05-06 20:30:17 +09:00
Ariel Davis
02e8bb0c6e
Return Option
2023-05-06 00:57:57 -07:00
Ariel Davis
fcbe73ec1c
Refactor position
2023-05-06 00:52:32 -07:00
Ariel Davis
1ad0779a00
Make WideEncoding non-exhaustive
2023-05-06 00:49:23 -07:00
Ariel Davis
4a1922fd1a
Depend on nohash-hasher individually
2023-05-06 00:49:23 -07:00
Ariel Davis
b26cded8d1
Swap
2023-05-06 00:49:23 -07:00
Ariel Davis
4b28ad92e9
Make text-size a workspace dep
2023-05-06 00:49:23 -07:00