Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/signature_help.rs')
-rw-r--r--crates/ide/src/signature_help.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/crates/ide/src/signature_help.rs b/crates/ide/src/signature_help.rs
index 7486b20293..e7412d27fa 100644
--- a/crates/ide/src/signature_help.rs
+++ b/crates/ide/src/signature_help.rs
@@ -1345,5 +1345,36 @@ fn f<F: FnOnce(u8, u16) -> i32>(f: F) {
^^ ---
"#]],
);
+ check(
+ r#"
+fn f<T, F: FnOnce(&T, u16) -> &T>(f: F) {
+ f($0)
+}
+"#,
+ expect![[r#"
+ (&T, u16) -> &T
+ ^^ ---
+ "#]],
+ );
+ }
+
+ #[test]
+ fn regression_13579() {
+ check(
+ r#"
+fn f() {
+ take(2)($0);
+}
+
+fn take<C, Error>(
+ count: C
+) -> impl Fn() -> C {
+ move || count
+}
+"#,
+ expect![[r#"
+ () -> i32
+ "#]],
+ );
}
}