Commit graph

271903 commits

Author SHA1 Message Date
Giga Bowser
254198c340 feat: Migrate flip_comma assist to SyntaxEditor 2024-12-06 10:03:09 -05:00
Giga Bowser
806ffb7dba minor: Add token_tree constructor to SyntaxFactory 2024-12-06 10:03:09 -05:00
Giga Bowser
418ad88045 feat: Migrate flip_trait_bound assist to SyntaxEditor 2024-12-06 10:02:34 -05:00
Giga Bowser
ff6b020512 feat: Migrate flip_binexpr assist to SyntaxEditor 2024-12-06 10:02:34 -05:00
Giga Bowser
0eed197014 minor: Add expr_bin constructor to SyntaxFactory 2024-12-06 10:02:34 -05:00
Giga Bowser
8877598a1d minor: Add token constructor to SyntaxFactory 2024-12-06 10:02:34 -05:00
Giga Bowser
25c0a002ea fix: Don't produce ChangedAncestor for SyntaxTokens 2024-12-06 10:01:34 -05:00
Giga Bowser
fbd671373b fix: Properly determine SyntaxEditor replacement intersection
Bordering replacements should not be considered intersecting
2024-12-06 10:01:34 -05:00
Lukas Wirth
3fe75c7d90 Add typing handler for param list pipe 2024-12-06 15:49:36 +01:00
Lukas Wirth
9549e473a0
Merge pull request #18627 from Veykril/push-tzvnrnytrksr
Improve heuristics for on typing semicolon insertion
2024-12-06 14:15:13 +00:00
Lukas Wirth
a086560b23 Improve heuristics for on typing semicolon insertion 2024-12-06 15:00:09 +01:00
Lukas Wirth
2a06000cae
Merge pull request #18551 from ShoyuVanilla/migrate-turbofish-assist
Migrate `add_turbo_fish` to `SyntaxEditor`
2024-12-06 13:44:54 +00:00
Lukas Wirth
0631f460d1
Merge pull request #18563 from alibektas/workspace_key_high_precedence
minor: run `FlycheckHandle::restart_workspace` when `check_workspace` true
2024-12-06 13:09:32 +00:00
Lukas Wirth
8466efcf72
Merge pull request #18594 from ChayimFriedman2/async-closures
feat: Support `AsyncFnX` traits
2024-12-06 12:48:47 +00:00
Lukas Wirth
b4dc94d305
Merge pull request #18474 from Veykril/push-nvtxykxkwnvs
Make bracket typing handler work on more things
2024-12-06 12:03:52 +00:00
Lukas Wirth
02676108a5
Merge pull request #18610 from Veykril/push-kynytqktmnxq
Add implict unsafety inlay hints for extern blocks
2024-12-06 12:01:49 +00:00
Lukas Wirth
2c91563eb5 Add implict unsafety inlay hints for extern blocks 2024-12-06 12:49:03 +01:00
Lukas Wirth
069fb0f475 Make bracket typing handler work on more things 2024-12-06 12:47:32 +01:00
Lukas Wirth
c2253c2c37
Merge pull request #18625 from Veykril/push-npnxwpxuzlqz
fix: Fix parser getting stuck for bad asm expressions
2024-12-06 05:11:08 +00:00
Lukas Wirth
3db9b1d943 fix: Fix parser getting stuck for bad asm expressions 2024-12-06 05:57:00 +01:00
Lukas Wirth
d5c7e64419
Merge pull request #18622 from Veykril/push-wlzptrukvyup
fix: Fix parsing of dyn T in generic arg on 2015 edition
2024-12-05 19:41:34 +00:00
Lukas Wirth
59a5b38bf4 fix: Fix parsing of dyn T in generic arg on 2015 edition 2024-12-05 20:26:49 +01:00
David Barsky
23339cb44c
Merge pull request #18538 from tareknaser/syntax_factory_sort_items
Migrate `sort_items` Assist to Use `SyntaxFactory`
2024-12-05 19:21:51 +00:00
David Barsky
6ef7f8e014
Merge pull request #18483 from tareknaser/syntax_factory_introduce_named_generic
Migrate `introduce_named_generic` Assist to Use `SyntaxFactory`
2024-12-05 18:42:27 +00:00
Lukas Wirth
f31547dc0e
Merge pull request #18621 from Veykril/push-suuyuvsmqpyq
fix: Resolve generic parameters within use captures
2024-12-05 18:26:37 +00:00
Lukas Wirth
64832b0ddb fix: Resolve generic parameters within use captures 2024-12-05 19:11:33 +01:00
Lukas Wirth
0d8e5113d5
Merge pull request #18620 from Veykril/push-pyulxnouvxkq
fix: Parse lifetime bounds in lifetime param into TypeBoundList
2024-12-05 17:06:02 +00:00
Lukas Wirth
085ea34357 Parse lifetime bounds in lifetime param into TypeBoundList
This mainly aids in error recovery but also makes it a bit easier to handle lifetime resolution.
While doing so it also came apparent that we were not actually lowering lifetime outlives relationships within lifetime parameter declaration bounds, so this fixes that.
2024-12-05 17:52:02 +01:00
Lukas Wirth
f9351a86ee
Merge pull request #18619 from ShoyuVanilla/issue-18613
fix: Panic when displaying generic params with defaults
2024-12-05 16:31:33 +00:00
Shoyu Vanilla
70380736bc fix: Panic when displaying generic params with defaults 2024-12-06 01:10:46 +09:00
Lukas Wirth
4883a12a97
Merge pull request #18618 from Veykril/push-ysklqzomkyvp
fix: Fix parsing of integer/keyword name refs in various places
2024-12-05 14:42:00 +00:00
Lukas Wirth
a19e1dffe5 fix: Fix parsing of integer/keyword name refs in various places 2024-12-05 15:27:50 +01:00
Tarek
0a99a9f05f
fix: rename syntax_editor_add_generic_param to add_generic_param
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-05 13:50:43 +02:00
Lukas Wirth
b8db0c5a85
Merge pull request #18616 from Veykril/push-pkumxswtxspo
fix: Disable `<` typing handler again
2024-12-05 09:00:46 +00:00
Lukas Wirth
a9afc99c13 Disable < typing handler again 2024-12-05 09:46:23 +01:00
Lukas Wirth
3640db2190
Merge pull request #18611 from ChayimFriedman2/proc-macro-warn
fix: Do not report warnings from proc macros, ever
2024-12-04 16:39:54 +00:00
Tarek
6120a8ad0b
fix: update introduce_named_generic to use type_param directly
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 16:02:03 +02:00
Chayim Refael Friedman
d5f3ed89cb Do not report warnings from proc macros, ever 2024-12-04 15:25:01 +02:00
Lukas Wirth
39aab9839c
Merge pull request #18541 from ChayimFriedman2/different-generic-args
feat: Complete diagnostics in ty lowering groundwork and serve a first diagnostic 🎉
2024-12-04 13:17:05 +00:00
Tarek
60e0e02a21
refactor: move editing for ast using SyntaxEditor to a separate file
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:51:48 +02:00
Tarek
b1e0d31221 fix: refactor introduce_named_generic assist
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
d453198999 fix: correct token type for closing angle bracket
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
e7fd49cfb4 fix: refactor syntax_editor_add_generic_param
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
cfd5f7a40c fix: refactor syntax_editor_add_generic_param to handle adding new generic parameters
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
e275203e80 fix: refactor syntax_editor_add_generic_param to handle new generic parameters
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
54b597ccf2 fix: implement syntax_editor_create_generic_param_list
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
797eb3ebe8 define syntax_editor_add_generic_param
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
7fa84a3f4b fix: remove make_mut from introduce_named_generic assist
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Tarek
61e8403ee2 feat: migrate introduce_named_generic assist to use SyntaxFactory
Signed-off-by: Tarek <tareknaser360@gmail.com>
2024-12-04 14:50:03 +02:00
Chayim Refael Friedman
1aae52210a Complete diagnostics in ty lowering groundwork
Implement diagnostics in all places left: generics (predicates, defaults, const params' types), fields, and type aliases.

Unfortunately this results in a 20mb addition in `analysis-stats .` due to many type methods returning an addition diagnostics result now (even if it's `None` in most cases). I'm not sure if this can be improved.

An alternative strategy that can prevent the memory usage growth is to never produce diagnostics in hir-ty methods. Instead, lower all types in the hir crate when computing diagnostics from scratch (with diagnostics this time). But this has two serious disadvantages:
 1. This can cause code duplication (although it can probably be not that bad, it will still mean a lot more code).
 2. I believe we eventually want to compute diagnostics for the *entire* workspace (either on-type or on-save or something alike), so users can know when they have diagnostics even in inactive files. Choosing this approach will mean we lose all precomputed salsa queries. For one file this is fine, for the whole workspace this will be very slow.
2024-12-04 14:22:56 +02:00