diff options
| author | Hmikihiro <34ttrweoewiwe28@gmail.com> | 2025-08-09 14:53:34 +0900 |
|---|---|---|
| committer | Hmikihiro <34ttrweoewiwe28@gmail.com> | 2025-08-09 15:48:10 +0900 |
| commit | e3d99ddcbc010de4942df34e6d5491c4b664152c (patch) | |
| tree | 4a4ea525c556bc109a7ab91957c15d7acc579643 | |
| parent | ec8426d5a4660384fe5583c0608add92655f3c9a (diff) | |
| download | rust-e3d99ddcbc010de4942df34e6d5491c4b664152c.tar.gz rust-e3d99ddcbc010de4942df34e6d5491c4b664152c.zip | |
fix: generate function by indet token
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide-assists/src/handlers/generate_function.rs | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/generate_function.rs b/src/tools/rust-analyzer/crates/ide-assists/src/handlers/generate_function.rs index efdb20c1e93..88ed6f9ce12 100644 --- a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/generate_function.rs +++ b/src/tools/rust-analyzer/crates/ide-assists/src/handlers/generate_function.rs @@ -316,7 +316,7 @@ impl FunctionBuilder { let current_module = ctx.sema.scope(call.syntax())?.module(); let visibility = calculate_necessary_visibility(current_module, target_module, ctx); - let fn_name = make::name(&name.text()); + let fn_name = make::name(name.ident_token()?.text()); let mut necessary_generic_params = FxHashSet::default(); necessary_generic_params.extend(receiver_ty.generic_params(ctx.db())); let params = fn_args( @@ -3131,4 +3131,32 @@ fn main() { "#, ) } + + #[test] + fn no_generate_method_by_keyword() { + check_assist_not_applicable( + generate_function, + r#" +fn main() { + s.super$0(); +} + "#, + ); + check_assist_not_applicable( + generate_function, + r#" +fn main() { + s.Self$0(); +} + "#, + ); + check_assist_not_applicable( + generate_function, + r#" +fn main() { + s.self$0(); +} + "#, + ); + } } |
