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.rs | 30 |
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(()) + } + } +} +"#, + ); +} |