Hayashi Mikihiro
82dfdacb78
Modify around add_trait_assoc_items_to_impl to migrate add_missing_impl_members
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-26 00:22:29 +09:00
Hayashi Mikihiro
9cc03e01c5
migrate generate new
2025-07-21 17:22:03 +09:00
Hayashi Mikihiro
c6ce2abd47
Migrate pull_assignment_up
assist to SyntaxEditor
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-09 00:58:58 +09:00
Lukas Wirth
2c01609d6d
minor: Handle match arm commas in make::match_arm
...
Co-authored-by: Giga Bowser <45986823+Giga-Bowser@users.noreply.github.com>
2025-07-04 11:08:28 +02:00
Chayim Refael Friedman
25a7b2480e
In "Fill match arms", allow users to prefer Self
to the enum name when possible
...
But default to not to.
I chose to have a more generic config name because maybe other assists could also use the same approach.
2025-06-06 16:34:53 +03:00
Lukas Wirth
f9c83edf12
fix: Fix move_bounds
assists not working for lifetimes
2025-05-05 15:07:36 +02:00
Prajwal S N
2eb7389b63
refactor: migrate let_else_to_match
to editor
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-28 17:19:17 +05:30
Lukas Wirth
7e526b6be7
Add expression fill mode variant for filling with underscore expressions
2025-04-28 10:39:36 +02:00
Prajwal S N
243854211c
fix: use ast::TokenTree
in make::expr_macro
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-16 13:06:42 +05:30
Lukas Wirth
7fc29a99ef
Merge pull request #19568 from snprajwal/destructure-struct-editor
...
refactor: editor for `destructure_struct_binding`
2025-04-14 15:35:00 +00:00
Prajwal S N
688464d5e6
fix: make::expr_call() -> CallExpr
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-11 02:57:44 +05:30
Prajwal S N
ab620e367d
fix: make::expr_method_call() -> MethodCallExpr
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-11 02:50:20 +05:30
Prajwal S N
728d72fbe1
fix: make::expr_closure() -> ClosureExpr
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-11 02:50:16 +05:30
Prajwal S N
92a7890814
fix: make::expr_paren() -> ParenExpr
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-11 02:50:13 +05:30
Prajwal S N
c254537465
refactor: editor for destructure_struct_binding
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-04-11 02:36:23 +05:30
Ali Bektas
477b987179
Observe unsafeness when generating manual impls of former derives
2025-03-17 21:55:27 +01:00
BenjaminBrienen
7535bb4661
cargo fmt
2025-03-15 21:32:01 +01:00
Vishruth-Thimmaiah
53f3e6fd5f
feat: for loop to while let assist
2025-03-14 19:15:37 +05:30
Shoyu Vanilla
f06f1b81bb
Migrate some leftovers in add_missing_match_arms
2025-02-24 22:41:52 +09:00
Shoyu Vanilla
8b947d7a12
internal: Remove mutable syntax tree usages from add_missing_match_arms
assist
2025-02-14 02:36:05 +09:00
Lukas Wirth
ae74cc3b88
Skip redundant path search in resolve_completion_edits
2025-01-25 13:03:01 +01:00
Giga Bowser
a5a79f5957
internal: Migrate unwrap_return_type
assist to use SyntaxEditor
...
Also changes `make::expr_empty_block()` to return `ast::BlockExpr` instead of `ast::Expr`
2025-01-08 18:12:06 -06:00
Giga Bowser
551f1d00dd
internal: make::expr_match
should return ast::MatchExpr
2025-01-06 15:58:39 -06:00
Giga Bowser
32ff06d51c
internal: Generally improve make::match_arm
...
`make::match_arm` should take a single `ast::Pat`, and callers can handle creating an `ast::OrPat` if need be. It should also take a proper `ast::MatchGuard`, instead of making one itself.
2025-01-06 15:58:39 -06:00
Giga Bowser
905e1e1fc0
internal: move make::expr_unit
to make::ext::expr_unit
...
`expr_unit` is just a shortcut for a common expression, so it belongs in `make::ext`
2025-01-06 15:58:39 -06:00
Giga Bowser
f388482119
internal: make::expr_tuple
should return ast::TupleExpr
2025-01-06 15:32:08 -06:00
Giga Bowser
c549be9ab6
internal: make::expr_if
should return ast::IfExpr
2025-01-06 15:32:08 -06:00
Giga Bowser
913d197a04
internal: make::expr_prefix
should return ast::PrefixExpr
2025-01-06 15:32:08 -06:00
Giga Bowser
159731022f
internal: Generalize make::expr_from_text
to types which implement Into<ast::Expr>
...
This will help with specializing the various `make::expr_*` functions later
2025-01-06 15:32:08 -06:00
Lukas Wirth
4b6007115a
minor: New clippy lints
2025-01-06 17:57:17 +01:00
Chayim Refael Friedman
ce323627c5
Support the new CoercePointee
derive
2025-01-04 18:35:53 +02:00
Chayim Refael Friedman
791a63255b
Move some more AST makers to the quote macro
...
And implement addons as necessary.
There are many more makers to be moved, and I'm not completely satisfied with this (due to the ease of making a mistake in the AST structure, and slightly less but also because of the need to remember whitespaces), but this is already enough to see how this will look like.
2024-12-30 05:46:06 +02:00
Chayim Refael Friedman
abd7263179
Create a quote!
-like API for crafting AST nodes
...
Instead of messing with textual `make`.
And port one `make` helper to it, for the sake of testing.
2024-12-30 04:54:39 +02:00
Giga Bowser
135e71fcb3
minor: Add item_static
constructor to SyntaxFactory
2024-12-11 10:32:32 -05:00
Giga Bowser
c70bf568bb
minor: Add item_enum
constructor to SyntaxFactory
...
I recursively added all constructors it depends on. I also changed the old `make::` constructors to support more of the grammar.
2024-12-10 11:12:44 -05:00
Chayim Refael Friedman
5f25ae3d1b
Lay the foundation for diagnostics in ty lowering, and implement a first diagnostic
...
The diagnostic implemented is a simple one (E0109). It serves as a test for the new foundation.
This commit only implements diagnostics for type in bodies and body-carrying signatures; the next commit will include diagnostics in the rest of the things.
Also fix one weird bug that was detected when implementing this that caused `Fn::(A, B) -> C` (which is a valid, if bizarre, alternative syntax to `Fn(A, B) -> C` to lower incorrectly.
And also fix a maybe-bug where parentheses were sneaked into a code string needlessly; this was not detected until now because the parentheses were removed (by the make-AST family API), but with a change in this commit they are now inserted. So fix that too.
2024-12-04 14:22:56 +02:00
Giga Bowser
a87e1aad81
Add ty_fn_ptr
function to create function pointer type
2024-10-24 17:46:14 -04:00
Chayim Refael Friedman
cfb701ac78
Get rid of $crate
in expansions shown to the user
...
Be it "Expand Macro Recursively", "Inline macro" or few other things.
We replace it with the crate name, as should've always been.
2024-09-18 18:30:59 +03:00
Lukas Wirth
eb64cc8c35
Complete desugared and resugared async fn in trait impls
2024-09-01 11:22:50 +02:00
Chayim Refael Friedman
cc07652be5
Add gen
modifier to functions
...
We don't yet lower or maybe even parse them, but blocks already have `gen`, so why not.
2024-08-24 23:46:32 +03:00
bors
fc36e0ca16
Auto merge of #17907 - ChayimFriedman2:no-once_cell, r=Veykril
...
internal: Replace once_cell with std's recently stabilized OnceCell/Lock and LazyCell/Lock
This doesn't get rid of the once_cell dependency, unfortunately, since we have dependencies that use it, but it's a nice to do cleanup. And when our deps will eventually get rid of once_cell we will get rid of it for free.
2024-08-16 07:05:59 +00:00
Chayim Refael Friedman
955e609867
Replace once_cell with std's recently stabilized OnceCell/Lock and LazyCell/Lock
...
This doesn't get rid of the once_cell dependency, unfortunately, since we have dependencies that use it, but it's a nice to do cleanup. And when our deps will eventually get rid of once_cell we will get rid of it for free.
2024-08-16 09:53:37 +03:00
Lukas Wirth
f90bdfc13d
internal: Properly check the edition for edition dependent syntax kinds
2024-08-15 15:57:47 +02:00
Yuri Astrakhan
cc1aded86c
Avoid ref when using format! in compiler
...
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing). Inlining format args prevents accidental `&` misuse.
2024-07-19 14:41:59 -04:00
bors
cb6b808185
Auto merge of #17315 - hamirmahal:style/simplify-string-interpolation, r=Veykril
...
style: simplify string interpolation
2024-06-03 12:29:27 +00:00
DropDemBits
cf9401049c
Make extract_expressions_from_format_string
only use snippets when available
2024-06-02 11:47:05 -04:00
Hamir Mahal
7c34eb3880
style: simplify string interpolation
2024-05-30 16:18:49 -07:00
Lukas Wirth
a483d3bc37
internal: Thread edition through to parsing/tt-to-syntax-tree routines for macros
2024-04-14 16:02:38 +02:00
Niklas Lindorfer
2a4ba4295b
fix: hide destructure_struct_binding assist if no public fields
2024-03-04 21:50:01 +00:00
Niklas Lindorfer
ed230048dc
Add destructure_struct_binding
action
...
Separate into create and apply edit
Rename usages
Hacky name map
Add more tests
Handle non-exhaustive
Add some more TODOs
Private fields
Use todo
Nesting
Improve rest token generation
Cleanup
Doc -> regular comment
Support mut
2024-02-29 13:17:44 +00:00