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
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
bors
e789d73424
Auto merge of #12157 - lnicola:lower-char-byte-literals, r=Veykril
...
feat: Lower values of char and byte literals
Closes #12137
2022-05-05 07:35:41 +00: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
bors
0ee4e6a22d
Auto merge of #12086 - iDawer:infer.rpit, r=flodiebold
...
infer from RPIT bounds of _this_ function
Collect obligations from RPITs (Return Position `impl Trait`) of a function which is being inferred.
This allows inferring {unknown}s from RPIT bounds.
Closes #8403
2022-05-03 11:50:31 +00:00
bors
eeb45329e3
Auto merge of #12139 - matklad:depsdeps, r=matklad
...
⬆️ deps
2022-05-03 11:01:26 +00: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
Aleksey Kladov
59dcb63309
⬆️ deps
2022-05-03 11:57:40 +01:00