Lukas Wirth
96a774261f
Option begone part 1
2023-04-16 19:20:42 +02:00
Lukas Wirth
0f4ffaa5af
Fix duplicate eager expansion errors
2023-04-16 19:20:35 +02:00
Lukas Wirth
d1632c2727
Report syntax errors from item level macro expansions
2023-04-16 17:22:06 +02:00
Lukas Wirth
71b50f9f09
Record eager expansion errors in EagerCallInfo
2023-04-16 16:11:59 +02:00
Lukas Wirth
6ae8d49e15
Simplify eager macro error handling
2023-04-16 15:46:12 +02:00
Lukas Wirth
a5558cdfe5
internal: Report macro definition errors on the definition
2023-04-16 14:15:59 +02:00
Lukas Wirth
0bb9a17312
internal: Move layout logic from hir-def to hir-ty
2023-04-16 12:21:12 +02:00
bors
b218009f46
Auto merge of #14576 - HKalbasi:dev2, r=HKalbasi
...
Fix explicit deref problems in closure capture
fix the `need-mut` part of #14562
Perhaps surprisingly, it wasn't unique immutable borrow. The code still doesn't emit any of them, and I think those won't happen in edition 2021 (which is currently the only thing implemented), since we always capture `&mut *x` instead of `&mut x`. But I'm not very sure about it.
2023-04-14 13:23:49 +00:00
Laurențiu Nicola
febd5065ad
Make inherent_impls_in_block and trait_impls_in_block infallible
2023-04-14 16:03:45 +03:00
hkalbasi
7cb4318331
Fix explicit deref problems in closure capture
2023-04-14 15:32:40 +03:30
bors
96407424de
Auto merge of #14574 - Veykril:blocks, r=Veykril
...
internal: Make block_def_map infallible
2023-04-14 11:48:33 +00:00
Lukas Wirth
c32d51979d
internal: Make block_def_map infallible
2023-04-14 13:17:38 +02:00
bors
4667379f7e
Auto merge of #14575 - Veykril:attrs, r=Veykril
...
internal: Put Attrs behind a query instead of AttsWithOwner
We call this for pretty much every item, so this is unnecessary wasted memory
2023-04-14 11:17:18 +00:00
Lukas Wirth
ed3a5eac3c
internal: Put Attrs behind a query instead of AttsWithOwner
2023-04-14 12:47:33 +02:00
bors
1a331689d1
Auto merge of #14573 - Veykril:expr-scopes, r=Veykril
...
internal: Allocate ExprScopes ScopeEntries in a single arena instead of per ScopeData
2023-04-14 10:22:33 +00:00
Lukas Wirth
ce0896b78c
Allocate ExprScopes ScopeEntries in a single arena instead of per ScopeData
2023-04-14 12:05:11 +02:00
Lukas Wirth
9fb1b04826
Encode closing delimiter span in FlatTrees
2023-04-14 10:34:41 +02:00
Lukas Wirth
3c7b6716d1
fix: Fix inverted code lens resolve file version check
2023-04-14 08:41:53 +02:00
Jonas Schievink
901c8a4259
Map tokens from include!
expansion to the included file
2023-04-13 17:41:24 +02:00
bors
41ee5ca79d
Auto merge of #14559 - Veykril:version-code-lens, r=Veykril
...
internal: Skip code lens resolution for mismatched document versions
Closes https://github.com/rust-lang/rust-analyzer/issues/12718
2023-04-13 08:55:40 +00:00
Lukas Wirth
0286e46e5f
internal: Skip code lens resolution for mismatched document versions
2023-04-13 10:55:28 +02:00
bors
b093423d12
Auto merge of #14556 - Veykril:sysroot-no-core-warn, r=Veykril
...
internal: Warn when loading sysroot fails to find the core library
Should help a bit more with user experience, before we only logged this now we show it in the status
Closes https://github.com/rust-lang/rust-analyzer/issues/11606
2023-04-13 06:41:06 +00:00
Lukas Wirth
dd5c3c30b6
internal: Warn when loading sysroot fails to find the core library
2023-04-13 08:40:14 +02:00
Ryo Yoshida
c978d4bf0c
Implement text edits for inlay hints
2023-04-12 19:03:57 +09:00
Ryo Yoshida
fcbc250723
Add field for text edits to InlayHint
2023-04-12 19:03:55 +09:00
Ryo Yoshida
ac03de773f
Add flag to disallow opaque types for DisplayTarget::SourceCode
2023-04-12 19:03:48 +09:00
bors
7501d3b721
Auto merge of #14551 - lowr:patch/no-unstable-item-compl-on-stable, r=Veykril
...
Fix faulty variable extraction
Followup to #14549
Fixes https://github.com/rust-lang/rust-analyzer/pull/14549#discussion_r1163128814 and https://github.com/rust-lang/rust-analyzer/pull/14549#discussion_r1163132104
2023-04-11 17:43:15 +00:00
Ryo Yoshida
0a638676d1
Fix faulty variable extraction
2023-04-12 02:35:43 +09:00
bors
a1af8bb141
Auto merge of #14548 - Veykril:smol-str, r=Veykril
...
minor: Bump smol-str
2023-04-11 15:03:24 +00:00
bors
7afd2048f0
Auto merge of #14544 - HKalbasi:dev, r=Veykril
...
Infer types of nested RPITs
fix https://github.com/rust-lang/rust-analyzer/issues/14474#issuecomment-1501235394
2023-04-11 14:49:04 +00:00
bors
fd276218ec
Auto merge of #14549 - lowr:patch/no-unstable-item-compl-on-stable, r=Veykril
...
Don't suggest unstable items on stable toolchain
Closes #3020
This PR implements stability check in `ide-completion` so that unstable items are only suggested if you're on nightly toolchain.
It's a bit unfortunate `CompletionContext::check_stability()` is spammed all over the crate, but we should call it before building `CompletionItem` as you cannot get attributes on the item it's completing from that struct. I looked up every callsite of `Builder::add_to()`, `Completions::add[_opt]()`, and`Completions::add_all()` and inserted the check wherever necessary.
The tests are admittedly incomplete in that I didn't add tests for every kind of item as I thought that would be too big and not worthwhile. I copy-pasted some existing basic tests in every test module and adjusted them.
2023-04-11 14:34:47 +00:00
bors
600283f2de
Auto merge of #14550 - HKalbasi:mir, r=HKalbasi
...
Fix inference in nested closures
fix https://github.com/rust-lang/rust-analyzer/pull/14470#issuecomment-1503084796
2023-04-11 13:34:49 +00:00
hkalbasi
85f9235de8
fix inference in nested closure
2023-04-11 17:02:00 +03:30
Lukas Wirth
1456b53051
Bump smol-str
2023-04-11 14:39:19 +02:00
Ryo Yoshida
e6e48728da
Add tests for stability check in completion
2023-04-11 21:21:15 +09:00
Ryo Yoshida
0ce71dd76f
completion: check stability
2023-04-11 21:21:13 +09:00
Ryo Yoshida
584d2697cc
Add toolchain
meta for tests
2023-04-11 21:21:10 +09:00
bors
5d41affc77
Auto merge of #14547 - Veykril:extract_adjust, r=Veykril
...
fix: Fix receiver adjustments for extract_variable assist
2023-04-11 12:01:47 +00:00
Lukas Wirth
72d47144e8
fix: Fix receiver adjustments for extract_variable assist
2023-04-11 14:01:23 +02:00
bors
f9f443076a
Auto merge of #14540 - AmrDeveloper:disallow_extract_fun_single_brace, r=Veykril
...
Fix allow extracting function from single brace of block expression
Fix allow extracting function when selecting either `{` or `}`
Fix #14514
2023-04-11 10:10:25 +00:00
AmrDeveloper
5ded22065e
Make all kind of braces not applicable in function extraction
2023-04-11 11:22:52 +02:00
bors
fa3db447d7
Auto merge of #14536 - ClSlaid:feat/reorder-impl-items/not-applicative-editing-assoc-items, r=Veykril
...
fix: restrict applicable range of `reorder-impl-trait-items`
This PR should complete the need for restricting the applicable range of `reorder-impl-trait-items`.
When the cursor is in the associated items of the `impl` range, the assist will be disabled.
Fix : #14515
## Showcases
Note: If there is any available `code-action` (`ide-assist`) available, a lightbulb icon from `lspsaga` will show in the left.
- cursor in `impl` headers
![code action available](https://user-images.githubusercontent.com/44747719/230756854-7b236018-cfa8-4005-b589-2996ec42917f.png )
Code action is available. And it is reordering impl items.
![code action detail](https://user-images.githubusercontent.com/44747719/230756971-341c7fbc-f2ba-4715-a1e5-b1add984d4dd.png )
- cursor in `impl` associated items
![code action unavailable](
https://user-images.githubusercontent.com/44747719/230756906-bee7784e-bd9d-49b2-801b-743c94b4af54.png )
2023-04-11 07:36:42 +00:00
hkalbasi
a584cb998f
Infer types of nested RPITs
2023-04-11 04:32:11 +03:30
hkalbasi
59b6f2d9f2
Compute closure captures
2023-04-10 23:04:34 +03:30
AmrDeveloper
2afc124cb9
Fix allow extracting function from single brace of block expression
2023-04-09 23:44:31 +02:00
bors
51d5862caf
Auto merge of #14538 - Veykril:project-link-fix, r=Veykril
...
fix: Fix project linking popup appearing for modules that can be linked to a crate
should fix https://github.com/rust-lang/rust-analyzer/issues/14523
2023-04-09 08:18:12 +00:00
Lukas Wirth
98a673c4a8
fix: Fix project linking popup appearing for modules that can be linked to a crate
2023-04-09 10:17:58 +02:00
蔡略
475aa2839f
refactor: correct test sample
...
giving a sorted file is useless
Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
2023-04-09 00:24:25 +08:00
蔡略
e90e1901ef
feat: restrict applicable range of reorder-impl-trait-items
2023-04-09 00:14:48 +08:00
hkalbasi
c54cb88950
Add bounds for associated types in derive macro
2023-04-07 19:33:14 +03:30