Lukas Wirth
f3dc4321c8
Account for generics in extract_struct_from_enum_variant
2021-06-02 17:44:00 +02:00
Jonas Schievink
66a5fd375a
Place extracted type alias outside of impl
2021-06-02 16:50:44 +02:00
Brandon
7d2710218f
Don't show extract into variable assist for unit expressions
2021-06-02 00:59:09 -07:00
Laurențiu Nicola
8206939fed
clippy::redundant_clone fixes
2021-05-26 18:34:50 +03:00
Domantas Jadenkus
3641abc0c3
add test that it does not create extraneous commas
2021-05-24 22:17:16 +03:00
Domantas Jadenkus
8d2e3816bc
tidy
2021-05-24 22:17:16 +03:00
Domantas Jadenkus
22e5194396
generate match arms with todo!() as placeholder body
2021-05-24 22:17:16 +03:00
bors[bot]
495c9586ec
Merge #8945
...
8945: fix: Make expected type work in more situations r=flodiebold a=flodiebold
Also makes call info show the correct types for generic methods.
![2021-05-23-182952_1134x616_scrot](https://user-images.githubusercontent.com/906069/119269023-dd5a5b00-bbf5-11eb-993a-b6e122c3b9a6.png )
![2021-05-23-183117_922x696_scrot](https://user-images.githubusercontent.com/906069/119269025-dfbcb500-bbf5-11eb-983c-fc415b8428e0.png )
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2021-05-23 21:55:51 +00:00
Florian Diebold
b8262099cc
Get rid of field_type again
2021-05-23 23:54:35 +02:00
Aleksey Kladov
479a7387c2
feat: generate getter avoids generating types like &Vec<T>
2021-05-24 00:15:23 +03:00
Aleksey Kladov
8696c82777
feat: generate getter assist places the cursor at the generated function
2021-05-23 23:43:33 +03:00
Aleksey Kladov
af54b1e248
minimize tests
2021-05-23 23:19:00 +03:00
Aleksey Kladov
c06599504b
remove duplicate tests
2021-05-23 23:15:54 +03:00
Aleksey Kladov
4c8259e210
reduce duplication
2021-05-23 23:13:35 +03:00
Lukas Tobias Wirth
da74c66947
Correctly resolve crate name in use paths when import shadows itself
2021-05-23 19:37:01 +02:00
bors[bot]
d56e52402e
Merge #8922
...
8922: Add more docs r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-22 13:54:13 +00:00
Aleksey Kladov
188b0f96f9
Add more docs
2021-05-22 16:53:47 +03:00
bors[bot]
542337eca4
Merge #8868
...
8868: internal: replace AstTransformer with mutable syntax trees r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-22 13:30:32 +00:00
Aleksey Kladov
e6776c3e1b
use more precise name
2021-05-22 16:23:07 +03:00
Aleksey Kladov
47d7434dde
internal: replace AstTransformer with mutable syntax trees
2021-05-22 15:27:32 +03:00
bors[bot]
7d81e40e36
Merge #8901
...
8901: fix: `fill_match_arms` hangs on a tuple of large enums r=matklad a=iDawer
+ Lazy computation of missing arms.
+ Convenience function to test lazy computation: `ide_assists::tests::check_assist_unresolved`.
Fixes #8835
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
2021-05-22 12:26:40 +00:00
Dawer
d5c96672aa
Test fill_match_arms
for lazy computation.
...
This also adds `ide_assists::tests::check_assist_unresolved` function.
2021-05-21 11:29:24 +05:00
Dawer
570eff6552
fix: fill_match_arms
hangs on a tuple of large enums
2021-05-20 23:56:26 +05:00
Dawer
63d317c71a
Compute missing arms lazily.
2021-05-20 23:56:26 +05:00
bors[bot]
f86a9572f3
Merge #8897
...
8897: minor: Don't compare ast::Visibility by stringifying r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Tobias Wirth <lukastw97@gmail.com>
2021-05-20 16:05:54 +00:00
Lukas Tobias Wirth
da7f1eb756
Don't compare ast::Visibility by stringifying
2021-05-20 17:45:59 +02:00
Lukas Tobias Wirth
066856ab5b
Update outdated auto-import documentation
2021-05-20 15:31:33 +02:00
bors[bot]
8bb37737c9
Merge #8873
...
8873: Implement import-granularity guessing r=matklad a=Veykril
This renames our `MergeBehavior` to `ImportGranularity` as rustfmt has it as the purpose of them are basically the same. `ImportGranularity::Preserve` currently has no specific purpose for us as we don't have an organize imports assist yet, so it currently acts the same as `ImportGranularity::Item`.
We now try to guess the import style on a per file basis and fall back to the user granularity setting if the file has no specific style yet or where it is ambiguous. This can be turned off by setting `import.enforceGranularity` to `true`.
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8870
Co-authored-by: Lukas Tobias Wirth <lukastw97@gmail.com>
2021-05-20 08:27:16 +00:00
Dawer
5c5fedb945
add_explicit_type respects @
patterns
2021-05-19 23:27:51 +05:00
Lukas Tobias Wirth
b4fe479236
Replace ImportGranularity::Guess with guessing boolean flag
2021-05-19 15:57:10 +02:00
Lukas Tobias Wirth
64f7072c25
MergeBehavior -> ImportGranularity
2021-05-18 19:53:20 +02:00
Jamie Cunliffe
74f8fe7763
Extract function assist will add async if required
...
The extract function assist will check for an AWAIT_EXPR in the body
and if found, will add async to the generated function.
2021-05-17 18:17:29 +01:00
bors[bot]
b82458818d
Merge #8845
...
8845: Generate the impl block via generate_trait_impl_text_from_impl r=Veykril a=hi-rustin
Try to close https://github.com/rust-analyzer/rust-analyzer/issues/8827
Co-authored-by: hi-rustin <rustin.liu@gmail.com>
2021-05-16 19:32:40 +00:00
Aleksey Kladov
9df0a23368
internal: use standard test style
2021-05-16 15:14:57 +03:00
Aleksey Kladov
e4a7b44e55
internal: use mutable trees when filling match arms
2021-05-16 15:10:18 +03:00
Aleksey Kladov
4e142757e1
minor: use uniform names
2021-05-16 14:18:49 +03:00
bors[bot]
a57bd59f35
Merge #8813
...
8813: Get some more array lengths! r=lf- a=lf-
This is built on #8799 and thus contains its changes. I'll rebase it onto master when that one gets merged. It adds support for r-a understanding the length of:
* `let a: [u8; 2] = ...`
* `let a = b"aaa"`
* `let a = [0u8; 4]`
I have added support for getting the values of byte strings, which was not previously there. I am least confident in the correctness of this part and it probably needs some more tests, as we currently have only one test that exercised that part (!).
Fixes #2922 .
Co-authored-by: Jade <software@lfcode.ca>
2021-05-16 01:53:12 +00:00
hi-rustin
f5ea2a2ab0
Remove attrs
2021-05-15 21:12:06 +08:00
hi-rustin
696a8bf870
Address comments and add more tests
...
Fix tests
Fmt code
2021-05-15 20:44:45 +08:00
hi-rustin
3f0222565d
Generate the impl block via generate_trait_impl_text
2021-05-15 11:29:33 +08:00
Aleksey Kladov
883dd1568f
internal: use more mutable APIs
2021-05-14 20:00:35 +03:00
Aleksey Kladov
6c21d04307
internal: use standard style for tests
2021-05-14 18:53:53 +03:00
Aleksey Kladov
cea589b3b5
internal: rewrite assoc item manipulaion to use mutable trees
2021-05-14 18:47:08 +03:00
Jade
78d6b88f21
Add more tests, refactor array lengths/consteval work
...
Fix #2922 : add unknown length as a condition for a type having unknown.
Incorporate reviews:
* Extract some of the const evaluation workings into functions
* Add fixmes on the hacks
* Add tests for impls on specific array lengths (these work!!! 😁 )
* Add tests for const generics (indeed we don't support it yet)
2021-05-14 01:39:28 -07:00
bors[bot]
1552fdd3bc
Merge #8814
...
8814: fix: Keep doc comments and outer attrs on "Move module to file" assist r=Veykril a=Jesse-Bakker
Fixes #8804
Co-authored-by: Jesse Bakker <github@jessebakker.com>
2021-05-13 17:37:52 +00:00
bors[bot]
908cd23f81
Merge #8820
...
8820: fix: Return absolute paths in find_path if crate start is ambiguous r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-13 16:48:11 +00:00
mixio
0cb5443455
Corrected minor typo on line 20
2021-05-13 18:29:48 +02:00
Jesse Bakker
8c95b205a2
fix: Keep doc comments and outer attrs on "Move module to file" assist
2021-05-13 07:51:00 +02:00
Jade
73023c0299
Support length for ByteStrings
...
I am not confident that my added byte string parsing is right.
2021-05-12 21:22:46 -07:00
Lukas Wirth
69e0b10150
Return absolute paths in find_path if crate start is ambiguous
2021-05-13 02:53:32 +02:00