Lukas Wirth
c0feb389ed
fix: Fix import insertion inserting after last comment in a file
2022-05-09 12:12:41 +02:00
bors
3d2d209638
Auto merge of #11983 - jhpratt:remove-rustc_deprecated, r=lnicola
...
Remove handling of `#[rustc_deprecated]`
This should be merged along with rust-lang/rust#95960 .
Because the attribute still exists in rustc, I've left the definition here. With that said, any use of it is an error, so I've removed any handling of `#[rustc_deprecated]`.
2022-05-09 08:33:18 +00:00
bors
5d5bbec9b6
Auto merge of #12187 - Veykril:completion-rev, r=Veykril
...
internal: More completion context refactoring
2022-05-07 14:25:12 +00:00
bors
bfb241afa3
Auto merge of #12188 - Veykril:auto-import, r=Veykril
...
fix: Allow auto importing starting segments of use items
2022-05-07 14:16:00 +00:00
Lukas Wirth
61e074f016
fix: Allow auto importing starting segments of use items
2022-05-07 15:52:22 +02:00
Lukas Wirth
a0fc649269
fix unreachable pub
2022-05-07 15:50:01 +02:00
Lukas Wirth
44c3cc100b
Merge the different identifier contexts into one enum
2022-05-07 15:06:59 +02:00
Lukas Wirth
99fa37d6e3
Split namelike into the corresponding completion contexts
2022-05-07 14:16:03 +02:00
Lukas Wirth
6a045c7029
Introduce NameRefContext
2022-05-07 13:46:43 +02:00
bors
f2216764c4
Auto merge of #12186 - Veykril:completion-rev, r=Veykril
...
minor: Move inferred type completions
2022-05-07 11:00:29 +00:00
Lukas Wirth
1dc83f5a90
minor: Move inferred type completions
2022-05-07 12:59:26 +02:00
Lukas Wirth
dbb066b99e
fix: Remap float parts as integers when parsed as indices
2022-05-07 12:52:15 +02:00
Jonas Schievink
43a066c5a8
Fix conversion of float literals in TtTreeSink
2022-05-06 18:39:06 +02:00
Jonas Schievink
7db55313a1
Skip only the tt::Literal
when consuming float tokens
2022-05-06 16:10:54 +02:00
bors
10dd471fd1
Auto merge of #12175 - Veykril:completion-rev, r=Veykril
...
fix: Fix snippets triggering where they shouldn't
Fixes https://github.com/rust-lang/rust-analyzer/issues/12169
2022-05-06 13:45:12 +00:00
Lukas Wirth
0ce620686c
fix: Fix snippets triggering where they shouldn't
2022-05-06 15:44:41 +02:00
bors
57c5447f90
Auto merge of #12174 - Veykril:completion-rev, r=Veykril
...
internal: Improve completion tests by checking that the offset is included in the source_range of items
2022-05-06 11:12:29 +00:00
Lukas Wirth
582f99d293
internal: Improve completion tests by checking that the offset is included in the source_range of items
2022-05-06 13:11:50 +02:00
bors
db1434b34f
Auto merge of #12171 - lnicola:proc-macros-dont-invalidate-state, r=Veykril
...
fix: Try not to invalidate state when the proc macro preference didn't change
This appears to fix #12027 , but I'm not sure.
2022-05-06 10:14:05 +00:00
Lukas Wirth
57a9915c1f
internal: completion PathKind is not optional
2022-05-06 12:04:41 +02:00
Laurențiu Nicola
97cdf3eb0e
Try not to invalidate our state when the proc macro preference didn't change
2022-05-06 09:49:03 +03:00
bors
dd3f5e0993
Auto merge of #12168 - Veykril:completion-rev, r=Veykril
...
internal: Remove unqualified_path completions module
2022-05-05 20:22:30 +00:00
Lukas Wirth
0c4e23b8ef
internal: Remove unqualified_path completions module
2022-05-05 22:21:42 +02:00
Wang Ruochen
8d7a393008
Check const reference
2022-05-05 11:44:11 -07:00
Wang Ruochen
81d7cbbbe2
Avoid allocations
2022-05-05 10:14:11 -07:00
Jonas Schievink
d974a0b889
Fix rebase fallout
2022-05-05 16:35:07 +02:00
Jonas Schievink
37443eb9a1
Maybe everything else *should* have to deal with it
2022-05-05 16:28:59 +02:00
Jonas Schievink
2fe38d3b63
Indicate the number of float tokens in the first token
2022-05-05 16:28:59 +02:00
Jonas Schievink
34dc8e9383
Wrap floats in token trees in FLOAT_LITERAL
node
2022-05-05 16:28:59 +02:00
Jonas Schievink
90bd99f1bb
Add completion test
2022-05-05 16:28:59 +02:00
Jonas Schievink
2a755495d0
Add tests
2022-05-05 16:28:59 +02:00
Jonas Schievink
1bc3305d95
Split float literal tokens at the .
2022-05-05 16:28:58 +02:00
Jonas Schievink
502c519e7d
Wrap float literals in their own node
2022-05-05 16:28:14 +02:00
Jonas Schievink
2d5d16f18c
Remove ast::Literal::token
2022-05-05 16:27:35 +02:00
Lukas Wirth
16d2e79b50
internal: Remove unqualified_path completions module
2022-05-05 15:50:40 +02:00
Lukas Wirth
25d133e3b8
internal: Lift out item list path completions from (un)qualified_path
2022-05-05 12:20:18 +02:00
bors
52a58f672e
Auto merge of #12160 - Veykril:completions-rev, r=Veykril
...
minor: Sort ide-completions test outputs for less disruptive diffs
2022-05-05 09:03:23 +00:00
Lukas Wirth
5280e08c13
minor: Sort ide-completions test outputs for less disruptive diffs
2022-05-05 10:53:20 +02:00
bors
01198da2a2
Auto merge of #12159 - Veykril:completions-rev, r=Veykril
...
internal: Lift out macro bang property from completion PathKind enum
2022-05-05 08:51:18 +00:00
Lukas Wirth
8b092ec337
internal: Lift out macro bang property from PathKind enum
2022-05-05 10:51:02 +02:00
Laurențiu Nicola
9856144b0b
Lower values of char and byte literals
2022-05-05 08:12:08 +03:00
bors
0218aeba7a
Auto merge of #12150 - rainy-me:feat/fix-doc-url-links, r=rainy-me
...
fix: doc url link type
fix : #12033
I did some debugging and found the cause looks like to be some doc links' `LinkType` are kept as `Shortcut` which don't make sense for url links.
This PR should resolve both problems in the origin issue, but aside this PR, more work are needed for doc_links.
about `LinkType`: f29bd1e228/src/lib.rs (L191-L210)
2022-05-05 04:54:12 +00:00
rainy-me
ddff1b22f9
fix: add docs and remove unnecessary check
2022-05-05 13:41:33 +09:00
Jacob Pratt
3c376e5be8
Remove handling of #[rustc_deprecated]
2022-05-04 22:25:58 -04:00
rainy-me
5f4351fbb6
fix: doc url link type
2022-05-05 00:41:29 +09:00
Lukas Wirth
73df43f69a
Implement old to new config patching
2022-05-04 15:29:25 +02:00
bors
1f709d5446
Auto merge of #12143 - bnjjj:master, r=Veykril
...
improve the default constructor mode when filling fields
Instead of filling a boolean field with `bool::default()` it's not `false` and same for `Option` instead of using `Option::default()` it will be `None`
2022-05-04 09:32:17 +00:00
bors
9ed4af8967
Auto merge of #12142 - WaffleLapkin:sort-items-by-trait-def, r=lnicola
...
feat: Sort items by trait definition assist
This PR replaces the "Sort **methods** by trait definition" assist with a "Sort **items** by trait definition" assist that sorts all items, not just methods.
![sort-items-by-trait-def-showcase](https://user-images.githubusercontent.com/38225716/166491828-0bc10dbd-91be-408f-9fe0-636ef5e99377.gif )
2022-05-04 09:08:22 +00:00
Benjamin Coenen
6344eea242
improve the default constructor mode when filling fields
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2022-05-04 09:45:12 +02:00
Maybe Waffle
e315124798
Remove "Sort methods by trait definition" assist
...
It was replaced by the "Sort items by trait definition" assist.
2022-05-04 00:59:23 +04:00
Maybe Waffle
2b20a05fc6
Add "Sort items by trait definition"
2022-05-03 19:57:39 +04:00
Maybe Waffle
d7ed351573
Fix some typos in ide-assists/src/lib.rs
2022-05-03 19:41:07 +04:00
iDawer
970276b559
'inference': collect RPIT obligations
...
Collect obligations from RPITs (Return Position `impl Trait`) of a function which is being inferred.
This allows inferring {unknown}s from RPIT bounds.
2022-05-03 15:59:12 +05:00
Wang Ruochen
a70beea9e9
Trigger only when cursor is on else
2022-05-02 15:20:13 -07:00
Jonas Schievink
1f50e19eb2
Add a Converter
type for token conversion
2022-05-02 17:47:12 +02:00
bors
f83dccf5b9
Auto merge of #12123 - rainy-me:feat/impl-self-completion, r=Veykril
...
feat: provide Self in record literal completion
close #12106
2022-05-02 12:29:49 +00:00
bors
9e10d4b717
Auto merge of #12093 - nico-abram:uwu, r=Veykril
...
Reload project on .cargo/config[.toml] changes
Fixes #11024
Not adding tests as discussed in the issue
2022-05-02 12:21:42 +00:00
bors
cc12d9df3f
Auto merge of #12120 - iDawer:ide.sig_help, r=Veykril
...
fix: Don't show signature help after closing bracket
Stop showing signature help after closing angle/round brackets.
Fixes #11624
2022-05-02 12:13:16 +00:00
Lukas Wirth
b6e19add06
minor: Add a test for display rendering record variants
2022-05-02 12:51:00 +02:00
Lukas Wirth
4f97950595
fix: Fix uncorrect use of double braces in HirDisplay implementations
2022-05-02 12:39:38 +02:00
Lukas Wirth
291f94e22e
Fix up config docs
2022-05-01 19:57:09 +02:00
Lukas Wirth
cb6032bdf4
Fix untagged enum deserialization
2022-05-01 19:57:09 +02:00
Lukas Wirth
1f11b70c3b
Final fixups
2022-05-01 19:57:09 +02:00
Lukas Wirth
9fe1b24736
Update config usage in slow tests
2022-05-01 19:57:09 +02:00
Lukas Wirth
3d17261972
Adjust signature info and enum variant lenses
2022-05-01 19:57:08 +02:00
Lukas Wirth
9f27eb57a5
Implement boolean aliases
2022-05-01 19:57:08 +02:00
Lukas Wirth
bd18936d51
Sort config definition
2022-05-01 19:57:08 +02:00
Lukas Wirth
61643aca49
Initial config revamp
2022-05-01 19:57:08 +02:00
Wang Ruochen
59cdb31874
Turn let-else statements into let and match
2022-05-01 09:43:51 -07:00
rainy-me
f3e3abfb98
feat: provide self in record literal completion
2022-05-01 21:01:28 +09:00
Peh
aade31943f
delete another swap file
2022-05-01 10:48:58 +00:00
Peh
14c30b7979
update crates names in slow-tests/tidy.rs
2022-05-01 10:48:58 +00:00
Peh
c9a8c69ee0
update diagnostic-docs crate name
2022-05-01 10:48:58 +00:00
Peh
e53bf7e9c2
updated ide-assist new dir name
2022-05-01 10:48:58 +00:00
Peh
55e7925ac8
delete a generated swap file
2022-05-01 10:48:58 +00:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00
bors
e025b37df6
Auto merge of #12099 - bitgaoshu:master, r=flodiebold
...
fix #11986 Aliases break resolution of qualified variants in patterns
2022-05-01 08:49:58 +00:00
iDawer
dffbab45f4
Don't show signature help after closing bracket
2022-04-29 23:26:54 +05:00
bors
c6995a372f
Auto merge of #12117 - Veykril:mexpand, r=Veykril
...
minor: Insert whitespace after const token when formatting macro expansions
2022-04-29 12:07:52 +00:00
Lukas Wirth
df85ee05e3
minor: Insert whitespace after const token when formatting macro expansions
2022-04-29 14:07:19 +02:00
Justin Tracey
cfa7204544
small typo in log message
2022-04-29 05:59:32 +00:00
Jonas Schievink
52010d7dc7
Fix outline mod completion with partial module name
2022-04-28 20:21:46 +02:00
Jonas Schievink
c7027122db
Add test with trait
2022-04-28 19:23:57 +02:00
Jonas Schievink
b6a1b45c24
Make "inline type alias" work for Self
2022-04-28 19:20:23 +02:00
bors
d382e24a11
Auto merge of #12108 - Veykril:simplify, r=Veykril
...
minor: Record snippet config errors
2022-04-28 13:18:35 +00:00
Lukas Wirth
075b18942f
minor: Record snippet config errors
2022-04-28 15:18:19 +02:00
bitgaoshu
7900d99e3e
#11986 Aliases break resolution of qualified variants in patterns
2022-04-28 09:42:07 +08:00
bors
241b9f9aec
Auto merge of #12103 - jonas-schievink:diagnose-unresolved-derives, r=jonas-schievink
...
feat: diagnose unresolved derive macros
![screenshot-2022-04-27-20:04:59](https://user-images.githubusercontent.com/1786438/165591059-c759f035-2400-4bb1-84b0-9332e86c65d5.png )
2022-04-27 18:05:37 +00:00
Jonas Schievink
fa42888e27
Diagnose unresolved derive macros
2022-04-27 20:03:57 +02:00
bors
361cddc16c
Auto merge of #12101 - Veykril:simplify, r=Veykril
...
Simplify
2022-04-27 17:54:26 +00:00
Lukas Wirth
8b056fad45
Simplify
2022-04-27 19:53:56 +02:00
bors
ab8159b0b2
Auto merge of #12090 - Veykril:recov, r=Veykril
...
fix: Use pattern recovery set when parsing ident patterns
2022-04-27 17:18:46 +00:00
Lukas Wirth
e2344e78f3
fix: Use pattern recovery set when parsing ident patterns
2022-04-27 19:08:50 +02:00
unknown
b373e62f1a
Reload project on .cargo/config[.toml] changes
...
Fixes #11024
2022-04-27 12:10:43 -03:00
bors
1ad500beb6
Auto merge of #12057 - harpsword:fix_validata_visibility, r=jonas-schievink
...
fix visibility token validation in trait impl with proc-macro
fix #11828
2022-04-27 13:09:31 +00:00
bors
6c6aaeee7a
Auto merge of #12089 - lowr:fix/move-raw-ident-module-to-file, r=jonas-schievink
...
fix: handle raw identifiers in move_module_to_file
Fixes #12045
Note that I special case'd mod named `r#mod` as commented in the code. Although it's very unlikely that one would use such name, I included it in this fix for the sake of completeness.
2022-04-27 12:59:52 +00:00
harpsword
b1f858118b
fix visibility token validation in trait impl with proc-macro
2022-04-27 20:58:36 +08:00
bors
9f69d024ed
Auto merge of #12098 - jonas-schievink:macro-rules-snippet, r=jonas-schievink
...
fix: show `macro_rules` snippet in blocks
fixes https://github.com/rust-lang/rust-analyzer/issues/12092
2022-04-27 12:41:29 +00:00
Jonas Schievink
0060d5977d
Show macro_rules
snippet in blocks
2022-04-27 14:40:09 +02:00
Laurențiu Nicola
4a57307674
Revert "Correctly fix formatting doc tests with generics"
...
This reverts commit 5f3327a6b8
.
2022-04-27 15:30:54 +03:00
Laurențiu Nicola
0d02be7330
Revert "Update crates/ide/src/runnables.rs"
...
This reverts commit bf47acf1d3
.
2022-04-27 15:30:54 +03:00
rainy-me
c1685e56b7
fix: remove lookup and handle mut kw case
2022-04-27 18:54:57 +09:00
LowR
bc7cb00a27
fix: handle raw identifiers in move_module_to_file
2022-04-27 05:12:10 +09:00
bors
198c075580
Auto merge of #12083 - Veykril:inlays, r=Veykril
...
minor: Add test for parameter and reborrow hint order
2022-04-26 09:53:26 +00:00
Lukas Wirth
5e413997a1
minor: Add test for parameter and reborrow hint order
2022-04-26 11:46:03 +02:00
iDawer
729cd8530b
signature_help
: use corresponding param list for methods
2022-04-26 11:50:28 +05:00
Lukas Wirth
4255996965
Re-export FxHashMap
and FxHashSet
from ide_db
2022-04-25 18:51:59 +02:00
Lukas Wirth
8154365b00
minor: Remove either dependency from ide_completion
2022-04-25 18:40:38 +02:00
bors
6869491974
Auto merge of #12075 - jonas-schievink:less-aggressive-quickfixes, r=jonas-schievink
...
fix: Don't emit a quickfix for placeholder suggestions from rustc/clippy
Fixes https://github.com/rust-lang/rust-analyzer/issues/12069
2022-04-25 13:22:41 +00:00
Jonas Schievink
36342b4b29
Don't emit a quickfix for placeholder suggestions
2022-04-25 15:21:30 +02:00
bors
60c4f072eb
Auto merge of #12007 - edwin0cheng:restart-proc-macro-reload, r=jonas-schievink
...
Restart proc-macro client when server reload
Fix #10719
2022-04-25 12:56:57 +00:00
bors
1d2bd0e379
Auto merge of #12071 - Ma124:fix-tabs-snippet, r=jonas-schievink
...
Change tabs to spacs in macro_rules snippet
This PR changes the `macro_rules!` snippet to use spaces instead of tabs.
The other snippets like [this one][test-snippet] already use spaces.
The snippet was introduced in 5575588
where no reason is provided to use tabs.
[test-snippet]: https://github.com/rust-lang/rust-analyzer/blob/master/crates/ide_completion/src/completions/snippet.rs#L70=
2022-04-25 12:44:49 +00:00
Jonas Schievink
3a83684a16
Reduce priority of flyimport completions
2022-04-25 14:34:54 +02:00
bors
c1de78f54c
Auto merge of #12072 - bitgaoshu:master, r=jonas-schievink
...
fix #11973 associated type is unresolved
2022-04-25 11:07:09 +00:00
Ma_124
b06c95aeda
Change tabs to spacs in macro_rules snippet
2022-04-24 15:18:31 +02:00
bitgaoshu
5d1aff3357
#11973 associated type is unresolved
2022-04-24 20:51:48 +08:00
Aleksey Kladov
83aa42ae69
minor: clarify error message
...
Clarify that the server is a whole is OK, and that it's only a single
requests that's dead
2022-04-24 13:39:33 +01:00
Edwin Cheng
8f616a6cb5
Fix Reload Workspace command
2022-04-24 11:59:08 +08:00
bors
c61bb6be8c
Auto merge of #12064 - Veykril:attr-range, r=Veykril
...
fix: Fix `ide_db::search` not searching bodies of attributed items
Fixes https://github.com/rust-lang/rust-analyzer/issues/12050
2022-04-23 14:37:35 +00:00
Lukas Wirth
d524e43ef5
fix: Fix ide_db::search not searching bodies of attributed items
2022-04-23 16:36:11 +02:00
bors
23e47e1ebc
Auto merge of #12063 - iDawer:ide.signature_help, r=Veykril
...
fix: Fall back to parameter definitions on error types in signature help
Fixes #10432
2022-04-23 14:23:30 +00:00
iDawer
baa4fa09ef
Add fallback for return type
2022-04-23 17:21:21 +05:00
iDawer
fae9049ccd
Fall back to parameter definitions on error types in signature help
2022-04-23 17:21:21 +05:00
bors
c606229241
Auto merge of #12060 - Veykril:completion-ctx, r=Veykril
...
minor: Simplify
bors r+
2022-04-23 00:29:18 +00:00
Lukas Wirth
ea45e54458
Simplify
2022-04-23 02:21:27 +02:00
bors
1894473b19
Auto merge of #12058 - jonas-schievink:one-thread-with-extra-stack-please, r=jonas-schievink
...
fix: Spawn a new thread with a larger stack for the LSP and proc-macro server
This runs the server and proc-macro process in dedicated threads with 8 MB of stack space to paper over OS differences and fix occasional stack overflows.
This hopefully resolves https://github.com/rust-lang/rust-analyzer/issues/11669
2022-04-22 15:46:30 +00:00
Jonas Schievink
b5a56c7d53
Spawn a new thread with a larger stack for the server
2022-04-22 17:35:03 +02:00
bors
ebe6e30f04
Auto merge of #12054 - HKalbasi:const_generic, r=flodiebold
...
Fix const generic panic in dyn trait
fix #12048
2022-04-22 15:22:49 +00:00
hkalbasi
785ae4dfa8
remove trailing space
2022-04-22 19:29:10 +04:30
hkalbasi
0b5dd42fac
Add some comments about why never!() never happens
2022-04-22 19:22:18 +04:30
hkalbasi
d33d5fca1d
fix const generic panic in dyn trait
2022-04-22 01:36:11 +04:30
bors
24f9209a87
Auto merge of #12040 - rainy-me:improve-parameter-completion, r=jonas-schievink
...
fix: Improve parameter completion
fix https://github.com/rust-lang/rust-analyzer/issues/12016 and handles some extra cases.
2022-04-21 15:39:10 +00:00
rainy-me
8f8f20fda5
fix: lookup
2022-04-22 00:07:42 +09:00
Ted Kaminski
ecb1368027
fix: index the correct CargoWorkspace with rustc_private
2022-04-20 17:16:04 +00:00
Jonas Schievink
dd4a92176c
Prefer core/alloc over std if no_std is conditional
2022-04-20 14:07:40 +02:00
rainy-me
a58f7acc97
fix: improve parameter completion
2022-04-20 17:56:20 +09:00
Jonas Schievink
c6ffffccbd
Allows triggering commands after an assist edit
2022-04-19 18:45:48 +02:00
Lukas Wirth
f8c32df7cd
minor: Document completion context some more
2022-04-18 16:54:13 +02:00
bors
e0d41bc2a1
Auto merge of #12021 - Veykril:completion-ctx, r=Veykril
...
internal: Add a `NameContext` to `CompletionContext`, move out some ImmediateLocation variants
Continues the completion rewrite I started some time ago
(will merge tomorrow after stable since our completion tests still let a lot through)
2022-04-18 14:00:56 +00:00
XFFXFF
fedd0245d1
derive completions take existing derives into count
2022-04-18 21:34:36 +08:00
Edwin Cheng
72fcc66835
More visibility for switch workspaces and its states
2022-04-18 14:26:00 +08:00
Lukas Wirth
ff667c7228
internal: Add a NameContext
to CompletionContext
, move out some ImmediateLocation variants
2022-04-17 21:53:58 +02:00
Laurențiu Nicola
117f902d55
Bump deps
2022-04-17 19:36:08 +03:00
bors
a45a63e577
Auto merge of #12013 - XFFXFF:associated_const_equality, r=Veykril
...
fix: support `associated_const_equality` in parser
This pr fixes #11965 . The parser now allows eq constraints on associated constants.
I've added tests for `HasCount<Count = {N}>` and `HasCount<Count = 0>`
2022-04-17 13:05:47 +00:00
XFFXFF
6580d75308
update parser to support associated const equality
2022-04-17 20:26:06 +08:00
Lukas Wirth
3de9a42810
Disable rustfmt for expand_macro on wasm platforms
2022-04-17 14:00:19 +02:00
Lukas Wirth
895a16265c
Fix macro patterns not getting formatted properly
2022-04-17 13:46:00 +02:00
Lukas Wirth
e2f1a9a558
feat: Attempt to format expand_macro output with rustfmt if possible
2022-04-17 13:33:39 +02:00
XFFXFF
bdecd9374e
update grammer to support associated const equality
2022-04-17 12:03:52 +08:00
bors
53afd2a707
Auto merge of #12011 - iDawer:completion_detail.impl_trait, r=Veykril
...
fix: Show `impl Trait` in argument positon in completion details
Follow up for #11991
`hir`: Use `db.callable_item_signature` query more.
2022-04-16 21:13:07 +00:00
iDawer
d26deb5b9f
Show impl Trait
in argument positon in completion details
...
`hir`: Use `db.callable_item_signature` query more.
2022-04-16 19:18:42 +05:00
Aleksey Kladov
3f4235d59b
internal: more visibility into why things happen
2022-04-16 13:17:27 +01:00
Lukas Wirth
6f037da8cb
fix: Fix proc-macro change check being inverted
2022-04-16 12:36:31 +02:00
iDawer
c53412046f
minor: address nit
2022-04-16 13:54:24 +05:00
iDawer
03c5dd1252
extract_function
: use appropriate return type for async fns
2022-04-16 13:54:24 +05:00
iDawer
9d787e1bfe
Add hir::Function::async_ret_type
method
...
Adjust completion detail for `async fn` return types
2022-04-16 13:53:22 +05:00
iDawer
f972adc201
fix: comletion detail shows {unknown}
for impl Trait
in return position
2022-04-16 13:41:10 +05:00
bors
1c22537b3b
Auto merge of #12005 - Veykril:hir-ty-simplify, r=Veykril
...
internal: Remove frequent `Arc<Body>` clones in type checking
bors r+
2022-04-15 20:23:15 +00:00
Lukas Wirth
e5bf60fee2
minor: Remove frequent Arc<Body>
clones in type checking
2022-04-15 21:44:47 +02:00
Lukas Wirth
f82d230081
Simplify
2022-04-15 21:25:44 +02:00
bors
e10284a10c
Auto merge of #12003 - Veykril:hir-ty-simplify, r=Veykril
...
internal: Remove duplicated crate id field from hir::Type
2022-04-15 18:25:02 +00:00
Lukas Wirth
17691ee974
Slightly optimize Resolver::krate
2022-04-15 20:17:50 +02:00
Lukas Wirth
4b4a34327e
Remove duplicated crate id field from hir::Type
2022-04-15 20:14:35 +02:00
bors
20e6065a7a
Auto merge of #12002 - Veykril:proc-macro-change-panic, r=Veykril
...
fix: Fix source root panic in global state when checking out older git revs
Fixes https://github.com/rust-lang/rust-analyzer/issues/11357
2022-04-15 18:02:40 +00:00
Lukas Wirth
f540d1c2aa
fix: Fix source root panic in global state when checking out older git revs
2022-04-15 20:02:15 +02:00
bors
a912f2a9f6
Auto merge of #12001 - Veykril:refs, r=Veykril
...
fix: Do reference search on all downmapped tokens with the same kind only
cc https://github.com/rust-lang/rust-analyzer/issues/11668
2022-04-15 17:43:24 +00:00
Lukas Wirth
58660dee2a
fix: Do reference search on all downmapped tokens with the same kind only
2022-04-15 19:42:48 +02:00
bors
5e41205e9c
Auto merge of #12000 - Veykril:hlmac, r=Veykril
...
fix: Tag `macro_rules` macro bang with `MacroBang` tag
cc https://github.com/rust-lang/rust-analyzer/issues/11996
2022-04-15 17:19:33 +00:00
Lukas Wirth
be27efabfa
fix: Tag macro_rules
macro bang with MacroBang
tag
2022-04-15 19:16:18 +02:00
Jonas Schievink
1fd232cd69
Enable ADT keyword completions in block expression
2022-04-14 18:39:27 +02:00
Jonas Schievink
d764e134d5
Fallback to primitive when path doesn't resolve
2022-04-14 15:51:38 +02:00
bors
63573d47aa
Auto merge of #11971 - jonas-schievink:on-type-fmt-assignments, r=jonas-schievink
...
feat: Add trailing `;` when typing `=` in assignment
![Peek 2022-04-12 19-41](https://user-images.githubusercontent.com/1786438/163022079-1ed114ef-7c75-490f-a8ed-731a13f0b44d.gif )
This does have a false positive to keep in mind, it will add a trailing `;` in the following snippet too, which is probably not desired:
```rust
fn is_zero(i: i32) -> bool {
i $0 0
}
```
However, that function is unlikely to be written from the "inside out" like that, so it might be acceptable. Typically `=` is only inserted last when the author realizes that an existing expression should be assigned to some variable.
2022-04-14 12:36:17 +00:00
Jonas Schievink
fbded178fa
Improve ItemTree pretty print output
2022-04-14 14:24:27 +02:00
Jonas Schievink
f96fd40104
add docs
2022-04-14 13:23:19 +02:00
Jonas Schievink
72dcfe6cc6
reenable test
2022-04-14 13:02:20 +02:00
Jonas Schievink
f5403aef96
simplify
2022-04-14 13:00:08 +02:00
bors
5620d25972
Auto merge of #11985 - Veykril:config-valid, r=Veykril
...
minor: Simplify config.rs a bit
2022-04-14 10:16:58 +00:00
Lukas Wirth
d7785a8fab
minor: Cleanup config.rs a bit
2022-04-14 12:16:38 +02:00
bors
13f36e7397
Auto merge of #11960 - Veykril:config-valid, r=Veykril
...
internal: Show more project building errors to the user
Should help out with https://github.com/rust-analyzer/rust-analyzer/issues/9720
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11223
2022-04-14 09:36:08 +00:00
Lukas Wirth
b23b276310
internal: Show more project building errors to the user
2022-04-14 11:31:01 +02:00
Alex Touchet
940ec0967a
Update repo URL
2022-04-13 16:54:24 -07:00
bors
15844bf48c
Auto merge of #11956 - fee1-dead:master, r=flodiebold
...
feat: allow customizing the command for running build scripts
I have tested this locally and it fixed #9201 with some small changes on the compiler side with suggestions from https://github.com/rust-analyzer/rust-analyzer/issues/9201#issuecomment-1019554086 .
I have also added an environment variable `IS_RA_BUILDSCRIPT_CHECK` for crates to detect that it is a check for buildscripts, and allows defaulting to bogus values for expected environment variables.
2022-04-13 22:53:31 +00:00
Deadbeef
8b60bf6764
Update CI for Rust bors
2022-04-13 16:55:10 +02:00
Jonas Schievink
99e9e52fbc
Remove trailing ;
when turning assignment into ==
comparison
2022-04-13 16:01:09 +02:00
Jonas Schievink
b9dd7db817
Add more no-op tests
2022-04-13 15:47:33 +02:00
Deadbeef
73a033e77c
feat: allow customizing the command for running build scripts
2022-04-13 23:45:51 +10:00
Jonas Schievink
cde2a1de36
Add trailing ;
when typing =
in assignment
2022-04-12 19:39:19 +02:00
Laurențiu Nicola
5901eddb02
Bump chalk
2022-04-12 20:10:10 +03:00
Jonas Schievink
a182156517
Add trailing ;
when completing assoc const/type
2022-04-12 18:28:43 +02:00
bors[bot]
a64a70ebff
Merge #11967
...
11967: fix: Fix trait impl completions not triggering after `fn`/`const`/`type` r=jonas-schievink a=jonas-schievink
![screenshot-2022-04-12-17:13:01](https://user-images.githubusercontent.com/1786438/162996087-56540f5e-a6be-4111-a4a5-8de21f483a5e.png )
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11467
cc https://github.com/rust-analyzer/rust-analyzer/issues/11860
bors r+
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2022-04-12 16:03:12 +00:00
Jonas Schievink
3328a0a11b
Fix trait impl completions' lookup_by
text
2022-04-12 17:17:31 +02:00
bors[bot]
49847a25ae
Merge #11883
...
11883: fix(ide): move moudle directory when rename r=rainy-me a=rainy-me
fix : #10992
Added `FileSystemEdit::MoveDir` variant for move dirs. Original implemented as recursively move child mod files but had many issues like
1. left empty dir after rename file
2. only affect rust file
3. not performant
so changed to current version
Co-authored-by: rainy-me <github@yue.coffee>
2022-04-12 15:17:00 +00:00
rainy-me
3dd581b97d
fix: move dir on rename mod
2022-04-12 23:01:53 +09:00
Jonas Schievink
e66037f139
simplify
2022-04-12 15:34:12 +02:00
bors[bot]
faaec86ff0
Merge #11964
...
11964: internal: Show more project building errors to the user r=Veykril a=Veykril
Something very fishy is going on with the `rustc_workspace` handling, which caused this bug to only manifest in the `std` library but not other library crate... So there is either a bug there or just the fact that we seem to add duplicate dependencies (I think this is what we are doing with this right?) might be tripping something up somewhere.
cc https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Rust-analyzer.20use.20inside.20stdlib
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-04-11 22:21:57 +00:00
Lukas Wirth
24af94b474
fix: Unset test feature in rustc source crates
2022-04-12 00:19:40 +02:00
Jonas Schievink
63f87ff047
Deprioritize already-imported names
2022-04-11 18:48:27 +02:00
Lukas Wirth
b90df7997d
Add simplistic config validation
2022-04-11 13:10:43 +02:00
Lukas Wirth
6d7055e322
Show config deseralization failures on start up
2022-04-11 13:05:34 +02:00
bors[bot]
7a564af989
Merge #11935
...
11935: feat: Switch to LSP inlay hints r=lnicola a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2022-04-11 09:29:15 +00:00
Alex Chi
51d66714ac
fix panic on GAT
...
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2022-04-11 13:52:02 +08:00
bors[bot]
24cf957627
Merge #11951
...
11951: minor: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-04-10 18:21:54 +00:00
Lukas Wirth
7f3572fa0d
Simplify
2022-04-10 20:02:06 +02:00
bors[bot]
7720f163ae
Merge #11954
...
11954: Parse `for<'a>` closure syntax r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11716
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-04-10 15:59:38 +00:00
Lukas Wirth
d8341c5b92
Parse for<'a> closure syntax
2022-04-10 17:50:14 +02:00
bors[bot]
3b40230a32
Merge #11953
...
11953: fix: `extract_module` is too eager r=Veykril a=iDawer
Refactored `extract_module`.
Searching for usages and import resolving are done lazily.
Close #11944
Co-authored-by: iDawer <ilnur.iskhakov.oss@outlook.com>
2022-04-10 13:31:33 +00:00
iDawer
6fff2c1798
extract_module
: Refactor loops
2022-04-09 22:07:44 +05:00
iDawer
1e71ac286b
extract_module: Resolve imports lazily
2022-04-09 16:52:53 +05:00
iDawer
031bdf2472
Refactor extract_module
2022-04-09 16:52:53 +05:00
iDawer
c2d12906b0
Clean up extract_module
2022-04-09 16:52:40 +05:00
Lukas Wirth
295f0c57a5
Revert #11912 as it parses all visited files
2022-04-09 13:41:06 +02:00
Lukas Wirth
9050db2e80
fix: Don't create hir::Local
s from const path patterns
2022-04-09 01:08:13 +02:00
Lukas Wirth
15e7112da3
fix: Check whether a parameter can be converted to a local
2022-04-09 00:55:45 +02:00
bors[bot]
399559e597
Merge #11940
...
11940: minor: bump lsp-server version r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-04-08 22:14:48 +00:00
Lukas Wirth
2d445de170
minor: bump lsp-server version
2022-04-09 00:13:47 +02:00
Jonas Schievink
22b13c8bff
Make trait item completions work in a bare impl and score them
2022-04-08 19:56:41 +02:00
Jonas Schievink
cdeb6140bf
Account for macros in get_missing_assoc_items
2022-04-08 18:05:34 +02:00
Florian Diebold
340f0fc333
Ignore Drop
and Destruct
bounds for now
...
- `T: ~const Drop` has a special meaning in Rust 1.61 that we don't implement.
(So ideally, we'd only ignore `~const Drop`, but this should be fine
for now.)
- `Destruct` impls are built-in in 1.62 (current nightlies as of 08-04-2022), so until
the builtin impls are supported by Chalk, we ignore them as well.
Since `Destruct` is implemented for everything in non-const contexts
IIUC, this should also work fine.
Fixes #11932 .
2022-04-08 14:29:43 +02:00
Laurențiu Nicola
d3d6267112
Switch to LSP inlay hints
2022-04-08 14:10:24 +03:00
Jonas Schievink
99d91bc550
flyimport: omit types when completing where-clause
2022-04-07 20:02:33 +02:00
bors[bot]
b8ed4a388c
Merge #11920
...
11920: Consider types of const generics r=flodiebold a=HKalbasi
fix #11913
We should emit type_mismatch in const generics, probably after #7434 . Currently they will lead to a misleading, time of use type error (like the added test).
Co-authored-by: hkalbasi <hamidrezakalbasi@protonmail.com>
2022-04-07 17:08:02 +00:00
Jonas Schievink
5d8b4c40eb
Determine function unsafety semantically
2022-04-07 18:33:03 +02:00
bors[bot]
12f803d1e3
Merge #11925
...
11925: internal: Add and use `HirFormatter::write_{str,char}` r=Veykril a=lnicola
Saves slightly over 3 KB of `text`, but comparing the total with that from two weeks ago in #11776 , this is a losing battle (we're 951 KB larger).
```
text data bss dec hex filename
24693512 1542704 4424 26240640 1906680 rust-analyzer-baseline
24690216 1542112 4424 26236752 1905750 rust-analyzer-pr
```
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2022-04-07 14:38:46 +00:00
Jonas Schievink
c71c30419c
Use bitflags for FnFlags
2022-04-07 16:22:34 +02:00
Jonas Schievink
16d0f724b6
use stdx::never
2022-04-07 15:55:44 +02:00
Jonas Schievink
67495b618b
Fix panics with #[cfg]
'd-out self
parameter
2022-04-07 15:47:03 +02:00
Laurențiu Nicola
bd570903b0
Add and use HirFormatter::write_{str,char}
2022-04-07 16:41:07 +03:00
Jonas Schievink
6501e45131
Remove FnFlags::IS_IN_EXTERN_BLOCK
2022-04-07 15:22:11 +02:00
hkalbasi
204a1561b2
consider types of const generics
2022-04-07 05:30:33 +04:30
Lukas Wirth
3632d5946f
minor: Remove pointless rebindings
2022-04-07 01:29:31 +02:00
Lukas Wirth
96b641e95e
internal: Add more doc-link tests
2022-04-06 20:58:46 +02:00
Lukas Wirth
4a1423337f
fix: Attempt to resolve paths in const arguments heuristically
...
While we don't support const args in type inference yet, we can at least
make use of the fallback path resolution to resolve paths in const args
in the IDE layer to enable some features for them.
2022-04-06 20:24:24 +02:00
Lukas Wirth
7959c24876
fix: Fix path qualifiers not resolving generic type params when shadowed by trait
2022-04-06 19:38:45 +02:00
Lukas Wirth
4e6390bb12
Fix SearchScope::reverse_dependencies
trying to search more files than necessary
2022-04-06 14:24:06 +02:00
Lukas Wirth
d9f6cee100
fix: Fix SearchScope using incorrect text ranges for macro-emitted inline modules
2022-04-06 13:58:40 +02:00
bors[bot]
2366d8e05f
Merge #11905
...
11905: internal: Remove hir_expand macro recursion check r=jonas-schievink a=jonas-schievink
This check is insufficient to ensure finite macro nesting, and so all callers already have their own recursion limit, which makes this check redundant.
...at least I hope it's redundant. Would be great if someone could double-check this.
Originally, this check was added in https://github.com/rust-analyzer/rust-analyzer/pull/3671
Co-authored-by: Jonas Schievink <jonas.schievink@ferrous-systems.com>
2022-04-05 17:00:56 +00:00
bors[bot]
ee6becc5dd
Merge #11891
...
11891: Better error message on Flycheck Error message (from: unactionable error message if we are using `clippy` as the checker) r=Veykril a=flipbit03
I have commented on this [S-unactionable issue](https://github.com/rust-analyzer/rust-analyzer/issues/6589 ) that the Flycheck error message should maybe provide a hint about what tool it actually runs. Searching on some places on the Internet I've found multiple people, including myself, losing copious amounts of time on the same issue. So I've decided to make this very small PR :-)
From an user experience standpoint, the current error message is unhelpful to the end user, because the end user does not know exactly what it needs to check/fix (outdated, broken, or missing `cargo clippy`). In my own case, `cargo clippy` was actually missing altogether (developing off `rust:1.59.0-bullseye` official Docker image).
Thanks in advance!
Co-authored-by: Cadu <cadu.coelho@gmail.com>
2022-04-05 16:31:18 +00:00
Jonas Schievink
9de54570d6
Remove hir_expand macro recursion check
2022-04-05 17:59:48 +02:00
Jonas Schievink
872b7b9660
Wrap macros in expr position in MacroExpr
node
2022-04-05 17:43:34 +02:00
Cadu
84cf6ad091
Using error
instead of output.stderr
in failure mode.
2022-04-05 11:17:39 -03:00
Cadu
ca9718aa42
Made error output the contents of Cargo's stderr as well.
2022-04-04 19:15:20 -03:00
Cadu
8e5c57f050
wordsmithing.
2022-04-04 19:15:20 -03:00
Cadu
635270d4ad
Better error message hinting about cargo clippy
2022-04-04 19:15:20 -03:00
iDawer
86665e50c2
fix: Skip match check on a pattern of unexpected TyKind::FnDef
2022-04-05 00:05:20 +05:00
bors[bot]
bf6303df37
Merge #11896
...
11896: fix: Show the path to be created in the unresolved-module fix label r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-04-04 14:14:26 +00:00
Lukas Wirth
3a847eacc8
fix: Show the path to be created in the unresolved-module fix label
2022-04-04 16:04:09 +02:00
bors[bot]
f5c069c9d9
Merge #11894
...
11894: complete pattern args based on type name r=Veykril a=cameron1024
Addresses #11892
Changes function argument completion to cover a case like this:
```rust
struct Foo { bar: i32 }
fn qux(Foo { bar }: Foo) {
println!("{bar}");
}
```
When completing the function call for `qux`, instead of expanding to `qux(_)`, it will now expand to `qux(foo)` (based on the snake-cased version of the name of the ADT)
Non ADTs are unaffected
Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Co-authored-by: cameron1024 <cameron.studdstreet@gmail.com>
2022-04-04 13:06:51 +00:00
cameron1024
37d2a8243f
Update crates/ide_completion/src/render/function.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-04-04 13:33:14 +01:00
cameron
bb1c3a20b5
fix type error
2022-04-04 14:30:49 +01:00
cameron
2137bdfca3
remove unwarp on adt name
2022-04-04 14:28:15 +01:00