diff options
| author | Michael Goulet <michael@errs.io> | 2023-07-06 20:11:39 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-06 20:11:39 -0700 |
| commit | 1cb31e71d626ee82ebe1a0d0c97dae79649871d3 (patch) | |
| tree | 212435275c7c457c6823007c1cdbff3cf7009927 | |
| parent | de49a9f2f51757dced984a1b7f45e38d59985b5e (diff) | |
| parent | 86728e74e043aca318643d0d1bae724f3078bc33 (diff) | |
| download | rust-1cb31e71d626ee82ebe1a0d0c97dae79649871d3.tar.gz rust-1cb31e71d626ee82ebe1a0d0c97dae79649871d3.zip | |
Rollup merge of #113164 - JohnTitor:issue-109054, r=compiler-errors
Add a regression test for #109054 Closes #109054 r? ``@compiler-errors``
| -rw-r--r-- | tests/ui/type-alias-impl-trait/issue-109054.rs | 22 | ||||
| -rw-r--r-- | tests/ui/type-alias-impl-trait/issue-109054.stderr | 12 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/ui/type-alias-impl-trait/issue-109054.rs b/tests/ui/type-alias-impl-trait/issue-109054.rs new file mode 100644 index 00000000000..1fbec47b14b --- /dev/null +++ b/tests/ui/type-alias-impl-trait/issue-109054.rs @@ -0,0 +1,22 @@ +// edition:2021 + +#![feature(type_alias_impl_trait)] + +struct CallMe; + +type ReturnType<'a> = impl std::future::Future<Output = u32> + 'a; +type FnType = impl Fn(&u32) -> ReturnType; + +impl std::ops::Deref for CallMe { + type Target = FnType; + + fn deref(&self) -> &Self::Target { + fn inner(val: &u32) -> ReturnType { + async move { *val * 2 } + } + + &inner //~ ERROR: expected generic lifetime parameter, found `'_` + } +} + +fn main() {} diff --git a/tests/ui/type-alias-impl-trait/issue-109054.stderr b/tests/ui/type-alias-impl-trait/issue-109054.stderr new file mode 100644 index 00000000000..a611b9fe448 --- /dev/null +++ b/tests/ui/type-alias-impl-trait/issue-109054.stderr @@ -0,0 +1,12 @@ +error[E0792]: expected generic lifetime parameter, found `'_` + --> $DIR/issue-109054.rs:18:9 + | +LL | type ReturnType<'a> = impl std::future::Future<Output = u32> + 'a; + | -- this generic parameter must be used with a generic lifetime parameter +... +LL | &inner + | ^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0792`. |
