Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/extract_function.rs')
-rw-r--r--crates/ide-assists/src/handlers/extract_function.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/crates/ide-assists/src/handlers/extract_function.rs b/crates/ide-assists/src/handlers/extract_function.rs
index 7587aea55c..2a67909e63 100644
--- a/crates/ide-assists/src/handlers/extract_function.rs
+++ b/crates/ide-assists/src/handlers/extract_function.rs
@@ -5479,6 +5479,30 @@ fn $0fun_name<T: Debug>(i: T) {
}
#[test]
+ fn dont_emit_type_with_hidden_lifetime_parameter() {
+ // FIXME: We should emit a `<T: Debug>` generic argument for the generated function
+ check_assist(
+ extract_function,
+ r#"
+struct Struct<'a, T>(&'a T);
+fn func<T: Debug>(i: Struct<'_, T>) {
+ $0foo(i);$0
+}
+"#,
+ r#"
+struct Struct<'a, T>(&'a T);
+fn func<T: Debug>(i: Struct<'_, T>) {
+ fun_name(i);
+}
+
+fn $0fun_name(i: Struct<'_, T>) {
+ foo(i);
+}
+"#,
+ );
+ }
+
+ #[test]
fn preserve_generics_from_body() {
check_assist(
extract_function,