bors
ad6df5b12e
Auto merge of #12199 - jonas-schievink:no-invalid-assoc-ty-completions, r=jonas-schievink
...
fix: Don't show assoc. type binding completions when invalid
Fixes https://github.com/rust-lang/rust-analyzer/issues/12165
2022-05-09 16:12:47 +00:00
Jonas Schievink
5a2398d775
Don't show assoc. type binding completions when invalid
2022-05-09 18:12:12 +02:00
bors
ab558053f5
Auto merge of #12198 - jonas-schievink:ide-resolve-supertrait-assoc-types, r=jonas-schievink
...
fix: Resolve assoc. types of supertraits in the IDE layer
Fixes https://github.com/rust-lang/rust-analyzer/issues/12166
2022-05-09 15:40:45 +00:00
Jonas Schievink
2156815f12
Make completion work too
2022-05-09 17:39:13 +02:00
Jonas Schievink
7e45915aa4
Resolve assoc. types of supertraits in the IDE layer
2022-05-09 17:30:49 +02:00
bors
c42cb9af48
Auto merge of #12197 - Veykril:insert-use-fix, r=Veykril
...
fix: Fix import insertion inserting after last comment in a file
2022-05-09 10:13:08 +00:00
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
bors
6f6e4efc3b
Auto merge of #12185 - Veykril:parse-fix, r=Veykril
...
fix: Remap float parts as integers when parsed as indices
cc https://github.com/rust-lang/rust-analyzer/pull/12149
2022-05-07 10:53:37 +00:00
Lukas Wirth
dbb066b99e
fix: Remap float parts as integers when parsed as indices
2022-05-07 12:52:15 +02:00
bors
81b3e6d124
Auto merge of #12178 - jonas-schievink:fix-tt-conv-panic, r=jonas-schievink
...
fix: Fix panic when a macro passes a float token to another macro
Fixes https://github.com/rust-lang/rust-analyzer/issues/12170 (num-traits no longer causes a panic)
2022-05-06 16:39:43 +00:00
Jonas Schievink
43a066c5a8
Fix conversion of float literals in TtTreeSink
2022-05-06 18:39:06 +02:00
bors
505f2d97b8
Auto merge of #12177 - jonas-schievink:mbe-output-float-literals, r=jonas-schievink
...
fix: fix macro expansion with float tokens
Fixes https://github.com/rust-lang/rust-analyzer/issues/12170
The parser tells us to consume up to 3 tokens, but on the MBE side all float literals are a single `tt::Literal`, so make sure to only consume a single MBE leaf.
2022-05-06 14:12:29 +00: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
bors
616796a2c0
Auto merge of #12173 - Veykril:completion-rev, r=Veykril
...
internal: completion PathKind is not optional
2022-05-06 10:06:06 +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
bors
cc9ae2b89e
Auto merge of #12149 - jonas-schievink:literally-just-a-literal, r=jonas-schievink
...
fix: split float literal tokens at `.` to fix parsing of tuple field accesses
This introduces an `ast::FloatLiteral` node, changes the `FLOAT_LITERAL` token to `FLOAT_LITERAL_PART`, and splits any float literal at the `.` character, into a `FLOAT_LITERAL_PART`, and optional `DOT` and trailing `FLOAT_LITERAL_PART` token. The tokens are reassembled when passing them to a macro as a `tt::Literal`.
~~A slight regression is introduced in how float literals are highlighted: the `.` is now highlighted as an operator. I've tried to fix this but couldn't figure out how to highlight the whole `ast::FloatLiteral` node as a unit.~~ This is fixed
Fixes https://github.com/rust-lang/rust-analyzer/issues/1109
Fixes https://github.com/rust-lang/rust-analyzer/issues/10492
Fixes https://github.com/rust-lang/rust-analyzer/issues/12107
Fixes https://github.com/rust-lang/rust-analyzer/issues/10560
Fixes https://github.com/rust-lang/rust-analyzer/issues/11487
2022-05-05 15:35:10 +00: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
bors
7dfd1cb572
Auto merge of #12164 - Veykril:completion-rev, r=Veykril
...
internal: Remove `unqualified_path` completions module
cc https://github.com/rust-lang/rust-analyzer/issues/12144
2022-05-05 13:51:22 +00:00
Lukas Wirth
16d2e79b50
internal: Remove unqualified_path completions module
2022-05-05 15:50:40 +02:00
bors
4b1eb98817
Auto merge of #12161 - Veykril:completion-rev, r=Veykril
...
internal: Lift out item list path completions from (un)qualified_path
cc https://github.com/rust-lang/rust-analyzer/issues/12144
2022-05-05 10:20:30 +00: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