Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/tests/regression.rs')
-rw-r--r--crates/hir-ty/src/tests/regression.rs30
1 files changed, 29 insertions, 1 deletions
diff --git a/crates/hir-ty/src/tests/regression.rs b/crates/hir-ty/src/tests/regression.rs
index 92b1b14fa0..e30fa779da 100644
--- a/crates/hir-ty/src/tests/regression.rs
+++ b/crates/hir-ty/src/tests/regression.rs
@@ -2859,7 +2859,7 @@ fn foo<T: B>(v: T::T) {}
}
#[test]
-fn regression_() {
+fn regression_22007() {
check_types(
r#"
//- minicore: fn
@@ -2885,3 +2885,31 @@ fn foo() {
"#,
);
}
+
+#[test]
+fn regression_21885() {
+ check_no_mismatches(
+ r#"
+//- minicore: coerce_unsized, future, result
+use core::future::Future;
+
+trait Foo {
+ type Assoc;
+
+ fn foo() -> &dyn Future<Output = Result<Self::Assoc, ()>>;
+}
+
+struct Bar;
+
+impl Foo for Bar {
+ type Assoc = NotFound;
+
+ fn foo() -> &dyn Future<Output = Result<Self::Assoc, ()>> {
+ &async {
+ Err(())
+ }
+ }
+}
+"#,
+ );
+}