diff options
| author | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-10-05 09:18:00 +0000 |
|---|---|---|
| committer | Oli Scherer <git-spam-no-reply9815368754983@oli-obk.de> | 2022-10-07 19:43:46 +0000 |
| commit | e07f36c9610bac9433151cdaacb9764004d822e6 (patch) | |
| tree | aecf01ca084287e58a272e388fda2e9b108cbee5 /src/test/ui | |
| parent | f85d3a7e333d48098209fc05438b37e285cd1f9c (diff) | |
| download | rust-e07f36c9610bac9433151cdaacb9764004d822e6.tar.gz rust-e07f36c9610bac9433151cdaacb9764004d822e6.zip | |
Add a regression test
Diffstat (limited to 'src/test/ui')
| -rw-r--r-- | src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr | 14 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs new file mode 100644 index 00000000000..bc827a8f211 --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.rs @@ -0,0 +1,12 @@ +#![feature(type_alias_impl_trait)] + +type Tait = impl Sized; + +struct One; +fn one() -> Tait { One } + +struct Two<T>(T); +fn two() -> Tait { Two::<()>(todo!()) } +//~^ ERROR concrete type differs from previous defining opaque type use + +fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr new file mode 100644 index 00000000000..146a57cbb7e --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/different_defining_uses_never_type3.stderr @@ -0,0 +1,14 @@ +error: concrete type differs from previous defining opaque type use + --> $DIR/different_defining_uses_never_type3.rs:9:13 + | +LL | fn two() -> Tait { Two::<()>(todo!()) } + | ^^^^ expected `One`, got `Two<()>` + | +note: previous use here + --> $DIR/different_defining_uses_never_type3.rs:6:20 + | +LL | fn one() -> Tait { One } + | ^^^ + +error: aborting due to previous error + |
