Emit '_ for lifetime generics in HirDisplay

This commit is contained in:
hkalbasi 2023-06-05 10:55:47 +03:30
parent b4907a531f
commit 5531d46c95
4 changed files with 49 additions and 22 deletions

View file

@ -5478,6 +5478,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(