about summary refs log tree commit diff
path: root/src/test/ui/error-codes
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2022-03-27 20:45:08 +0200
committerRobin Appelman <robin@icewind.nl>2022-04-17 00:44:36 +0200
commitdecc04dbfbfe240e649cd4f891ca14d2f501c0ff (patch)
tree8c1adf1392bf09a02ddca5c0ce7ad8df20809a4a /src/test/ui/error-codes
parent878c7833f6c1ff10e2fd89074e5bd4ef5ff15936 (diff)
downloadrust-decc04dbfbfe240e649cd4f891ca14d2f501c0ff.tar.gz
rust-decc04dbfbfe240e649cd4f891ca14d2f501c0ff.zip
show suggestion to replace generic bounds with associated types in more cases
Diffstat (limited to 'src/test/ui/error-codes')
-rw-r--r--src/test/ui/error-codes/E0107.rs10
-rw-r--r--src/test/ui/error-codes/E0107.stderr18
2 files changed, 27 insertions, 1 deletions
diff --git a/src/test/ui/error-codes/E0107.rs b/src/test/ui/error-codes/E0107.rs
index 840700c9cc6..d369fc2a565 100644
--- a/src/test/ui/error-codes/E0107.rs
+++ b/src/test/ui/error-codes/E0107.rs
@@ -47,4 +47,14 @@ struct Baz<'a, 'b, 'c> {
     //~| HELP remove this lifetime argument
 }
 
+pub trait T {
+    type A;
+    type B;
+}
+
+fn trait_bound_generic<I: T<u8, u16>>(_i: I) {
+    //~^ ERROR this trait takes 0 generic arguments
+    //~| HELP replace the generic bounds with the associated types
+}
+
 fn main() {}
diff --git a/src/test/ui/error-codes/E0107.stderr b/src/test/ui/error-codes/E0107.stderr
index c90f85df967..5ca03b45d82 100644
--- a/src/test/ui/error-codes/E0107.stderr
+++ b/src/test/ui/error-codes/E0107.stderr
@@ -128,6 +128,22 @@ note: struct defined here, with 0 lifetime parameters
 LL | struct Quux<T>(T);
    |        ^^^^
 
-error: aborting due to 9 previous errors
+error[E0107]: this trait takes 0 generic arguments but 2 generic arguments were supplied
+  --> $DIR/E0107.rs:55:27
+   |
+LL | fn trait_bound_generic<I: T<u8, u16>>(_i: I) {
+   |                           ^ expected 0 generic arguments
+   |
+note: trait defined here, with 0 generic parameters
+  --> $DIR/E0107.rs:50:11
+   |
+LL | pub trait T {
+   |           ^
+help: replace the generic bounds with the associated types
+   |
+LL | fn trait_bound_generic<I: T<A = u8, B = u16>>(_i: I) {
+   |                             ~~~~~~  ~~~~~~~
+
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0107`.