Aleksey Kladov
3762cc7465
minor: use minicore
2021-06-18 23:59:47 +03:00
Aleksey Kladov
a9623f3165
minor: use minicore
2021-06-18 23:38:19 +03:00
Aleksey Kladov
181184a350
minor: use minicore
2021-06-18 23:28:37 +03:00
Aleksey Kladov
2e4df27132
minor: use minicore
2021-06-18 22:25:35 +03:00
Aleksey Kladov
15c4b3fa7f
internal: add Copy to minicore
2021-06-18 22:10:52 +03:00
Laurențiu Nicola
e3ce88f6f2
Minor clippy perf fixes
2021-06-18 14:40:51 +03:00
Aleksey Kladov
89c2dff58a
minor: simplify
2021-06-18 00:36:25 +03:00
Aleksey Kladov
ebb591a570
internal: add derive and ord support to minicore
2021-06-18 00:30:22 +03:00
Aleksey Kladov
ca99aaa053
internal: add From to minicore
2021-06-17 21:04:12 +03:00
Aleksey Kladov
08c220ab2c
internal: add default to minicore
2021-06-17 20:49:49 +03:00
Lukas Wirth
b6cb6d5abe
simplify
2021-06-17 17:58:26 +02:00
Lukas Wirth
95c8c65139
Nest all the or-patterns!
2021-06-17 17:37:14 +02:00
bors[bot]
3b58d8f785
Merge #9308
...
9308: fix: Create modules in correct directory for nested modules in move_module assist r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-17 10:10:25 +00:00
Lukas Wirth
cd5f4121e3
Create modules in correct directory for nested modules in move_module assist
2021-06-17 12:09:28 +02:00
Aleksey Kladov
a43bba760e
internal: switch some tests to minicore
2021-06-17 11:41:36 +03:00
Aleksey Kladov
c42cdff3d2
internal: minimize minicore
...
We want to keep minicore small, so let's split out iterator adapters and
sources into a separate `iterators` region, and use them only when
needed.
2021-06-17 11:28:44 +03:00
Aleksey Kladov
35772256f8
internal: cleanup tests
2021-06-16 23:27:46 +03:00
Aleksey Kladov
7ba5482a04
internal: switch some tests to minicore
2021-06-16 22:26:46 +03:00
Aleksey Kladov
7e0d441687
internal: switch some tests to minicore
2021-06-16 22:24:11 +03:00
Aleksey Kladov
4584868a7a
internal: don't #[ignore] tests
...
See the style.md for motivation
2021-06-15 16:37:58 +03:00
Aleksey Kladov
1e100e8b3e
internal: cleanup tests
...
* ensure standard, non-indented style (should add this check to
`fixture` some day)
* removed a couple of ignores
2021-06-15 12:48:05 +03:00
Aleksey Kladov
3f4ad44082
internal: document that we don't #[ignore] tests
2021-06-15 11:46:47 +03:00
Lukas Wirth
7cf273a18e
Don't keep a trailing self token in import paths after unmerge_use
2021-06-14 13:56:33 +02:00
bors[bot]
adbee621a7
Merge #9242
...
9242: Clippy r=matklad a=Maan2003
Best viewed commit wise
Co-authored-by: Maan2003 <manmeetmann2003@gmail.com>
2021-06-13 07:18:49 +00:00
bors[bot]
f107b0f1e2
Merge #9240
...
9240: Fixed a small typo in comment r=matklad a=fee1-dead
Co-authored-by: fee1-dead <ent3rm4n@gmail.com>
2021-06-13 06:58:37 +00:00
Maan2003
75370312fb
clippy::redundant_closure
2021-06-13 09:29:36 +05:30
Maan2003
c9b4ac5be4
clippy::redudant_borrow
2021-06-13 09:24:16 +05:30
bors[bot]
80b3b74018
Merge #9215
...
9215: change visibility for use and macro items r=jonas-schievink a=Maan2003
Co-authored-by: Maan2003 <manmeetmann2003@gmail.com>
2021-06-11 14:10:22 +00:00
fee1-dead
7ad8cd8232
Fixed a small typo in comment
2021-06-11 22:01:34 +08:00
Maan2003
4c1a02288c
change visibility for use and macro items
2021-06-11 19:10:56 +05:30
Maan2003
7f71000c12
Don't suggest Remove unused param in trait impls
2021-06-11 12:24:56 +05:30
Joshua Warner
9b74dd0c04
fmt
2021-06-05 17:09:56 -07:00
Joshua Warner
18f796a728
Refactor to be just one assist
2021-06-05 15:29:29 -07:00
Joshua Warner
ca9ffba047
Add assist for converting a tuple enum variant to a named variant
2021-06-04 21:48:32 -07:00
Lukas Wirth
1bd04d9064
Don't inline mutable locals in 'inline_local_variable'
2021-06-04 20:43:48 +02:00
Matthias Krüger
9452dfaac7
NFC: remove redundant clones (clippy::perf)
2021-06-03 15:32:46 +02:00
Jonas Schievink
6c0e58d107
Preserve indentation
2021-06-02 22:27:12 +02:00
Jonas Schievink
e4c019fcaa
Account for traits
2021-06-02 22:20:41 +02:00
bors[bot]
5be653d426
Merge #9108
...
9108: Don't show extract into variable assist for unit expressions r=jonas-schievink a=brandondong
**Reproduction:**
```rust
fn main() {
let mut i = 3;
$0if i >= 0 {
i += 1;
} else {
i -= 1;
}$0
}
```
1. Select the snippet of code between the $0's.
2. The extract into variable assist shows up, pushing down the more useful extract into function assist.
3. The resulting output of selecting the extract into variable assist is valid but with the extracted variable having the unit type:
```rust
fn main() {
let mut i = 3;
let var_name = if i >= 0 {
i += 1;
} else {
i -= 1;
};
var_name
}
```
**Fix:**
- Don't show the extract into variable assist for unit expressions. I could not think of any scenarios where such a variable extraction would be desired.
Co-authored-by: Brandon <brandondong604@hotmail.com>
2021-06-02 17:25:11 +00:00
bors[bot]
a421482e75
Merge #9112
...
9112: Fix some bugs in `extract_struct_from_enum_variant` assist r=Veykril a=Veykril
bors r+
Fixes #9100
Fixes #9099
Kind of fixes #9109 , it now copies all the generics might be incorrect if the variant doesn't use all of them)
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-02 16:18:42 +00:00
Lukas Wirth
6ffe1d99d4
Fix references to patterns in extract_struct_from_enum_variant assist
2021-06-02 18:16:59 +02:00
Lukas Wirth
9ff7ab680c
Carry over attributes in extract_struct_from_enum_variant
2021-06-02 17:55:08 +02:00
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
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
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
Dawer
5c5fedb945
add_explicit_type respects @
patterns
2021-05-19 23:27:51 +05: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
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
bors[bot]
1c927d2f8e
Merge #8802
...
8802: Keep comments and attrs when extracting struct from enum variant r=Veykril a=DropDemBits
Fixes #6730
Still unsure if existing visibilities of fields should be forced to pub (which is what was previously done), or if it's okay to keep it in the extracted struct.
Co-authored-by: DropDemBits <r3usrlnd@gmail.com>
2021-05-12 14:42:01 +00:00
DropDemBits
7fefac4bdc
Keep comments and attrs when extracting struct from enum variant
2021-05-11 11:07:47 -04:00
bors[bot]
9fa9d166d8
Merge #8800
...
8800: feat: Make "pull assignments up" assist work in more cases r=Jesse-Bakker a=Jesse-Bakker
Fixes #8771
Co-authored-by: Jesse Bakker <github@jessebakker.com>
2021-05-11 13:14:55 +00:00
Jesse Bakker
5f37e34406
Make "pull assignments up" assist work in more cases
2021-05-11 15:14:23 +02:00
Lukas Wirth
6a8d47e7f0
Give MergeBehaviour variants better names
2021-05-10 21:14:59 +02:00
Aleksey Kladov
bf26e13cd2
simplify
2021-05-10 15:25:56 +03:00
Aleksey Kladov
4f3c0adc5a
internal: introduce ast::make::ext
module with common shortcuts
...
There's a tension between keeping a well-architectured minimal
orthogonal set of constructs, and providing convenience functions.
Relieve this pressure by introducing an dedicated module for
non-orthogonal shortcuts.
This is inspired by the django.shortcuts module which serves a similar
purpose architecturally.
2021-05-09 19:55:43 +03:00
Aleksey Kladov
680a0d54e4
internal: fix make API
2021-05-09 19:22:33 +03:00
Aleksey Kladov
5342800147
internal: rewrite **Repalce impl Trait** assist to mutable syntax trees
2021-05-09 18:20:37 +03:00
Aleksey Kladov
984d20aad8
cleanups
2021-05-09 18:01:54 +03:00
Aleksey Kladov
d9c9f6dc2c
cleanups
2021-05-09 17:58:03 +03:00
Aleksey Kladov
edeb492782
minor: fix test style
2021-05-09 17:47:02 +03:00
bors[bot]
cf4d4f646b
Merge #8773
...
8773: fix: Correctly support SelfType when searching for usages r=Veykril a=Veykril
Fixes #7443
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-08 22:09:03 +00:00
Lukas Wirth
41f470fea8
Correctly support SelfType when searching for usages
2021-05-08 22:34:55 +02:00
Aleksey Kladov
1ee12b5db1
feat: add "mentoring instructions" test for pull up assist
2021-05-08 23:19:08 +03:00
Aleksey Kladov
1755b57e1a
internal: pull_assignment_up uses mutable trees
2021-05-08 23:11:42 +03:00
Aleksey Kladov
e603090961
minor: add missing test
2021-05-08 20:40:07 +03:00
Aleksey Kladov
7ab4fd7628
internal: remove one more usage of SyntaxRewriter
2021-05-08 15:45:17 +03:00
Aleksey Kladov
1fdc9d8e9e
internal: remove one more syntax rewriter
2021-05-08 14:47:14 +03:00