diff options
| author | Caio <c410.f3r@gmail.com> | 2021-09-15 14:03:27 -0300 |
|---|---|---|
| committer | Caio <c410.f3r@gmail.com> | 2021-09-15 14:03:27 -0300 |
| commit | 1b0186e9ecdaa6fd00f1beea7d877b5a4fbd762d (patch) | |
| tree | b7ee76eff04de2e2b50d74c71a7c87bc0c6f4f36 /src/test/ui/impl-trait | |
| parent | 8c2b6ea37d7719a0370bd404030eef9702c1752c (diff) | |
| download | rust-1b0186e9ecdaa6fd00f1beea7d877b5a4fbd762d.tar.gz rust-1b0186e9ecdaa6fd00f1beea7d877b5a4fbd762d.zip | |
Move some tests to more reasonable directories
Diffstat (limited to 'src/test/ui/impl-trait')
| -rw-r--r-- | src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.rs | 16 | ||||
| -rw-r--r-- | src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.stderr | 15 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.rs b/src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.rs new file mode 100644 index 00000000000..ecfa5c69e2f --- /dev/null +++ b/src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.rs @@ -0,0 +1,16 @@ +trait Foo { + type T; + fn foo(&self, t: Self::T); +//~^ NOTE expected 0 type parameters +} + +impl Foo for u32 { + type T = (); + + fn foo(&self, t: impl Clone) {} +//~^ ERROR method `foo` has 1 type parameter but its trait declaration has 0 type parameters +//~| NOTE found 1 type parameter +//~| NOTE `impl Trait` introduces an implicit type parameter +} + +fn main() {} diff --git a/src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.stderr b/src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.stderr new file mode 100644 index 00000000000..30322f88cca --- /dev/null +++ b/src/test/ui/impl-trait/type-arg-mismatch-due-to-impl-trait.stderr @@ -0,0 +1,15 @@ +error[E0049]: method `foo` has 1 type parameter but its trait declaration has 0 type parameters + --> $DIR/type-arg-mismatch-due-to-impl-trait.rs:10:22 + | +LL | fn foo(&self, t: Self::T); + | - expected 0 type parameters +... +LL | fn foo(&self, t: impl Clone) {} + | ^^^^^^^^^^ + | | + | found 1 type parameter + | `impl Trait` introduces an implicit type parameter + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0049`. |
