MoskalykA
feba680c39
Use method syntax
2024-10-26 09:39:04 +03:00
MoskalykA
41fa877362
Start using Option::is_none_or
2024-10-26 09:39:04 +03:00
Laurențiu Nicola
4e3c331d86
Turn Remove dbg into a quick fix for better prioritization
2024-10-26 09:06:10 +03:00
Lukas Wirth
a12f1781eb
Only construct a resolver in macro descension when needed
2024-10-25 10:23:59 +02:00
Lukas Wirth
52a03ec237
Merge pull request #18408 from Veykril/veykril/push-ulxyznwzokut
...
fix: Don't compute diagnostics for non local files
2024-10-25 05:55:32 +00:00
Lukas Wirth
8eef1c5275
Add server cancellation support to pull diagnostic handler
2024-10-25 07:39:28 +02:00
Lukas Wirth
eac7840810
Don't compute diagnostics for non local files
2024-10-25 07:28:29 +02:00
Lukas Wirth
58e9871038
Merge pull request #18404 from Veykril/veykril/push-swpmkoqqxrvu
...
feat: Implement diagnostics pull model
2024-10-24 15:22:49 +00:00
Lukas Wirth
8b59541237
feat: Implement diagnostics pull model
2024-10-24 17:09:43 +02:00
Lukas Wirth
6005446327
Merge pull request #18402 from Veykril/veykril/push-wrvtystlszlr
...
internal: Improve proc-macro error msg for failed build scripts
2024-10-24 12:01:29 +00:00
Lukas Wirth
fc4586e3b6
Merge pull request #18401 from Veykril/veykril/push-ulpowvsymyys
...
minor: Remove intermediate allocations
2024-10-24 11:48:27 +00:00
Lukas Wirth
e4a6efb9e0
internal: Improve proc-macro error msg for failed build scripts
2024-10-24 13:45:11 +02:00
Lukas Wirth
98935325ca
minor: Remove intermediate allocations
2024-10-24 13:34:32 +02:00
Lukas Wirth
c212423912
Merge pull request #18399 from Veykril/veykril/push-nnsoxqrwqkmv
...
Fix diagnostic enable config being ignored
2024-10-24 10:01:22 +00:00
Lukas Wirth
7d0196c35f
Fix diagnostic enable config being ignored
2024-10-24 11:47:12 +02:00
Lukas Wirth
b12fead6da
Merge pull request #18390 from ShoyuVanilla/issue-18308
...
fix: Prevent public re-export of private item
2024-10-24 09:25:06 +00:00
Laurențiu Nicola
bf26f58720
Hide default config in Debug impl
2024-10-24 10:07:54 +03:00
Lukas Wirth
6342667ce1
Merge pull request #18395 from Wilfred/missing_cfg_for_core
...
fix: Add missing cfg flags for `core` crate
2024-10-24 06:14:17 +00:00
Lukas Wirth
3f6b0fae83
Merge pull request #18394 from Wilfred/pretty_print_status
...
internal: Pretty-print Config in status command
2024-10-24 06:12:19 +00:00
Wilfred Hughes
3e51d145c3
fix: Add missing cfg flags for core
crate
...
Some types in `core` are conditionally compiled based on
`target_has_atomic` or `target_has_atomic_load_store` without an
argument, for example `AtomicU64`.
This is less noticeable in Cargo projects, where rust-analyzer adds
the output `RUSTC_BOOTSTRAP=1 cargo rustc --print cfg` so it gets the
full set of cfg flags.
This fixes go-to-definition on `std::sync::atomic::AtomicU64` in
non-cargo projects.
2024-10-23 16:43:08 -07:00
Wilfred Hughes
909144f606
internal: Pretty-print Config in status command
...
Config can become very big, even for relatively small rust project,
and printing everything on one line makes reading the output in VS Code
harder.
2024-10-23 15:18:43 -07:00
Lukas Wirth
40492e15d4
Merge pull request #18392 from Veykril/veykril/push-wktpkuklnzot
...
Swap query call order in `file_item_tree_query`
2024-10-23 20:31:49 +00:00
Lukas Wirth
3936dc59f0
Swap query call order in file_item_tree_query
2024-10-23 22:17:37 +02:00
David Barsky
e5c656d804
internal: log original syntax on panic
2024-10-23 12:56:00 -07:00
Shoyu Vanilla
685fe4b8dc
fix: Prevent public reexport of private item
2024-10-24 04:26:17 +09:00
Jason Boatman
eed86dd597
Rewrite label_details_support
condition to be consistent with other parts of the codebase.
2024-10-23 13:19:53 -05:00
Jason Boatman
d5ca001578
Fix checking for false
labelDetailsSupport
value.
2024-10-23 12:57:11 -05:00
Wilfred Hughes
2b676bfbd7
fix: Handle missing time offsets gracefully
...
The tracing_subscribe docs state that missing offsets likely mean
that we're in a multithreaded context:
https://docs.rs/tracing-subscriber/latest/tracing_subscriber/fmt/time/struct.OffsetTime.html#method.local_rfc_3339
We're not in a multithreaded context at this point, but some platforms
(e.g. OpenBSD) still don't have time offsets available.
Since this is only a rust-analyzer debugging convenience, just use
system time logging in this situation.
Fixes #18384
2024-10-23 09:57:57 -07:00
Lukas Wirth
f9935be013
Merge pull request #18264 from ChayimFriedman2/semi-transparent
...
fix: Implement mixed site hygiene
2024-10-23 12:33:50 +00:00
usamoi
b32127e0b0
fix dyn incompatible hint message
2024-10-23 18:10:14 +08:00
Lukas Wirth
af7c97f97a
Merge pull request #18376 from Veykril/veykril/push-ptmnsoqzsmqk
...
feat: Add text edits to more inlay hints
2024-10-23 08:39:25 +00:00
Lukas Wirth
b837ea4985
Don't emit edits for postfix adjustment hints
2024-10-23 10:24:58 +02:00
Lukas Wirth
47d2359afa
Add text edit to implicit 'static hints
2024-10-23 09:58:20 +02:00
Lukas Wirth
bfaad1431b
Add text edit to discriminant hints
2024-10-23 09:57:00 +02:00
Lukas Wirth
fd17fa10a2
Add text edit to binding mode hints
2024-10-23 09:52:03 +02:00
Lukas Wirth
f086fa9c02
Add text edit to adjustment hints
2024-10-23 09:30:36 +02:00
Chayim Refael Friedman
4ac3dc1a2f
Correctly resolve variables and labels from before macro definition in macro expansion
...
E.g.:
```rust
let v;
macro_rules! m { () => { v }; }
```
This was an existing bug, but it was less severe because unless the variable was shadowed it would be correctly resolved. With hygiene however, without this fix the variable is never resolved.
2024-10-22 21:49:17 +03:00
Chayim Refael Friedman
8adcbdcc49
Implement semitransparent hygiene
...
Or macro_rules hygiene, or mixed site hygiene. In other words, hygiene for variables and labels but not items.
The realization that made me implement this was that while "full" hygiene (aka. def site hygiene) is really hard for us to implement, and will likely involve intrusive changes and performance losses, since every `Name` will have to carry hygiene, mixed site hygiene is very local: it applies only to bodies, and we very well can save it in a side map with minor losses.
This fixes one diagnostic in r-a that was about `izip!()` using hygiene (yay!) but it introduces a huge number of others, because of #18262 . Up until now this issue wasn't a major problem because it only affected few cases, but with hygiene identifiers referred by macros like that are not resolved at all. The next commit will fix that.
2024-10-22 21:26:56 +03:00
Lukas Wirth
c286786888
Merge pull request #18254 from ChayimFriedman2/fix-mut
...
fix: Nail destructuring assignment once and for all
2024-10-22 17:40:52 +00:00
Chayim Refael Friedman
0beec9081d
Add test for tuple struct destructuring assignment where the path comes from a macro
2024-10-22 20:27:09 +03:00
Lukas Wirth
3ae93bcb82
Merge binding_mode inlay hints into one
2024-10-22 17:12:16 +02:00
Lukas Wirth
db60fb42bb
Merge adjustment inlay hints into one
2024-10-22 16:56:13 +02:00
Lukas Wirth
13acfbfae4
Merge closure capture inlay hints into one
2024-10-22 16:29:15 +02:00
bors
d509449d7e
Auto merge of #18370 - duncpro:goto-def-ranges, r=Veykril
...
feat: resolve range patterns to their structs
Closes #18367
2024-10-22 12:24:25 +00:00
bors
4c4f186e23
Auto merge of #18368 - Veykril:test-lsif_contains_generated_macros, r=lnicola
...
tests: Add `lsif_contains_generated_constant` test
Closes https://github.com/rust-lang/rust-analyzer/pull/18309
2024-10-22 12:10:07 +00:00
bors
eddab6e98c
Auto merge of #18349 - dqkqd:issue-18344, r=Veykril
...
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-22 11:56:16 +00:00
bors
c58427ff94
Auto merge of #18371 - Veykril:veykril/push-kwttrusywysp, r=Veykril
...
fix: Fix incorrect parsing of use bounds
Fixes https://github.com/rust-lang/rust-analyzer/issues/18357
2024-10-22 11:42:11 +00:00
Lukas Wirth
95298a2e61
fix: Fix incorrect parsing of use bounds
...
Also lower them a bit more
2024-10-22 13:34:26 +02:00
Khanh Duong Quoc
44e48d75dd
feat: render docs from aliased type when docs are missing
2024-10-22 20:27:05 +09:00
Duncan Proctor
4fd471c571
tidy
2024-10-22 06:54:44 -04:00