diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-10-04 18:26:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-04 18:26:39 +0200 |
| commit | 5d584516b223e3a92fffa2c7e175734c23882340 (patch) | |
| tree | 082eeea8157b3b35c3b58c92bfdf4b212b32232d /src/test | |
| parent | b9ff789506ed668009da1715d3b6db84f0c8ab85 (diff) | |
| parent | ee713f3d4350c75bae85749619b0e1508f433e02 (diff) | |
| download | rust-5d584516b223e3a92fffa2c7e175734c23882340.tar.gz rust-5d584516b223e3a92fffa2c7e175734c23882340.zip | |
Rollup merge of #102488 - compiler-errors:gat-compatibility, r=oli-obk
Check generic argument compatibility when projecting assoc ty Fixes #102114
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/generic-associated-types/issue-102114.rs | 16 | ||||
| -rw-r--r-- | src/test/ui/generic-associated-types/issue-102114.stderr | 12 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/generic-associated-types/issue-102114.rs b/src/test/ui/generic-associated-types/issue-102114.rs new file mode 100644 index 00000000000..de31737efef --- /dev/null +++ b/src/test/ui/generic-associated-types/issue-102114.rs @@ -0,0 +1,16 @@ +trait A { + type B<'b>; + fn a() -> Self::B<'static>; +} + +struct C; + +struct Wrapper<T>(T); + +impl A for C { + type B<T> = Wrapper<T>; + //~^ ERROR type `B` has 1 type parameter but its trait declaration has 0 type parameters + fn a() -> Self::B<'static> {} +} + +fn main() {} diff --git a/src/test/ui/generic-associated-types/issue-102114.stderr b/src/test/ui/generic-associated-types/issue-102114.stderr new file mode 100644 index 00000000000..8e41dee54d7 --- /dev/null +++ b/src/test/ui/generic-associated-types/issue-102114.stderr @@ -0,0 +1,12 @@ +error[E0049]: type `B` has 1 type parameter but its trait declaration has 0 type parameters + --> $DIR/issue-102114.rs:11:12 + | +LL | type B<'b>; + | -- expected 0 type parameters +... +LL | type B<T> = Wrapper<T>; + | ^ found 1 type parameter + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0049`. |
