Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/expected_function.rs')
-rw-r--r--crates/ide-diagnostics/src/handlers/expected_function.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/crates/ide-diagnostics/src/handlers/expected_function.rs b/crates/ide-diagnostics/src/handlers/expected_function.rs
index 02299197b1..e3a1e12e02 100644
--- a/crates/ide-diagnostics/src/handlers/expected_function.rs
+++ b/crates/ide-diagnostics/src/handlers/expected_function.rs
@@ -37,4 +37,25 @@ fn foo() {
"#,
);
}
+
+ #[test]
+ fn no_error_for_async_fn_traits() {
+ check_diagnostics(
+ r#"
+//- minicore: async_fn
+async fn f(it: impl AsyncFn(u32) -> i32) {
+ let fut = it(0);
+ let _: i32 = fut.await;
+}
+async fn g(mut it: impl AsyncFnMut(u32) -> i32) {
+ let fut = it(0);
+ let _: i32 = fut.await;
+}
+async fn h(it: impl AsyncFnOnce(u32) -> i32) {
+ let fut = it(0);
+ let _: i32 = fut.await;
+}
+ "#,
+ );
+ }
}