From 96c04c5e1c54ceef0b16679ecb71f64548150826 Mon Sep 17 00:00:00 2001
From: Dorian Scheidt <dorian.scheidt@gmail.com>
Date: Thu, 18 Aug 2022 18:28:14 -0500
Subject: [PATCH] inline assoc_fn_target

---
 .../src/handlers/generate_function.rs         | 35 ++++++++-----------
 1 file changed, 14 insertions(+), 21 deletions(-)

diff --git a/crates/ide-assists/src/handlers/generate_function.rs b/crates/ide-assists/src/handlers/generate_function.rs
index adb5ec2b99d..6c045a3333d 100644
--- a/crates/ide-assists/src/handlers/generate_function.rs
+++ b/crates/ide-assists/src/handlers/generate_function.rs
@@ -420,29 +420,22 @@ fn assoc_fn_target_info(
 ) -> Option<TargetInfo> {
     let mut target_module = None;
     let mut adt_name = None;
-    let (target, file, insert_offset) =
-        assoc_fn_target(ctx, call, adt, &mut target_module, fn_name, &mut adt_name)?;
+    let (target, file, insert_offset) = {
+        let target_module: &mut Option<Module> = &mut target_module;
+        let adt_name: &mut Option<hir::Name> = &mut adt_name;
+        let current_module = ctx.sema.scope(call.syntax())?.module();
+        let module = adt.module(ctx.sema.db);
+        *target_module = if current_module == module { None } else { Some(module) };
+        if current_module.krate() != module.krate() {
+            return None;
+        }
+        let (impl_, file) = get_adt_source(ctx, &adt, fn_name)?;
+        let (target, insert_offset) = get_method_target(ctx, &module, &impl_)?;
+        *adt_name = if impl_.is_none() { Some(adt.name(ctx.sema.db)) } else { None };
+        Some((target, file, insert_offset))
+    }?;
     Some(TargetInfo { target_module, adt_name, target, file, insert_offset })
 }
-fn assoc_fn_target(
-    ctx: &AssistContext<'_>,
-    call: &CallExpr,
-    adt: hir::Adt,
-    target_module: &mut Option<Module>,
-    fn_name: &str,
-    adt_name: &mut Option<hir::Name>,
-) -> Option<(GeneratedFunctionTarget, FileId, TextSize)> {
-    let current_module = ctx.sema.scope(call.syntax())?.module();
-    let module = adt.module(ctx.sema.db);
-    *target_module = if current_module == module { None } else { Some(module) };
-    if current_module.krate() != module.krate() {
-        return None;
-    }
-    let (impl_, file) = get_adt_source(ctx, &adt, fn_name)?;
-    let (target, insert_offset) = get_method_target(ctx, &module, &impl_)?;
-    *adt_name = if impl_.is_none() { Some(adt.name(ctx.sema.db)) } else { None };
-    Some((target, file, insert_offset))
-}
 
 fn get_insert_offset(target: &GeneratedFunctionTarget) -> TextSize {
     match &target {