about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2022-05-30 11:44:24 -0700
committerMichael Goulet <michael@errs.io>2022-05-30 12:08:38 -0700
commit4b26d410880fc06a8035ae3efa7b01a243ed7e75 (patch)
treef5aedb63520216b7f995861da8c0e6d7585e26d0
parentfc934618c294c17b1574164d65aab1dc695bd6c8 (diff)
downloadrust-4b26d410880fc06a8035ae3efa7b01a243ed7e75.tar.gz
rust-4b26d410880fc06a8035ae3efa7b01a243ed7e75.zip
add regression test
-rw-r--r--src/test/ui/argument-suggestions/issue-97484.rs14
-rw-r--r--src/test/ui/argument-suggestions/issue-97484.stderr27
2 files changed, 41 insertions, 0 deletions
diff --git a/src/test/ui/argument-suggestions/issue-97484.rs b/src/test/ui/argument-suggestions/issue-97484.rs
new file mode 100644
index 00000000000..bb383ab1f8b
--- /dev/null
+++ b/src/test/ui/argument-suggestions/issue-97484.rs
@@ -0,0 +1,14 @@
+struct A;
+struct B;
+struct C;
+struct D;
+struct E;
+struct F;
+struct G;
+
+fn foo(a: &A, d: D, e: &E, g: G) {}
+
+fn main() {
+    foo(&&A, B, C, D, E, F, G);
+    //~^ ERROR this function takes 4 arguments but 7 arguments were supplied
+}
diff --git a/src/test/ui/argument-suggestions/issue-97484.stderr b/src/test/ui/argument-suggestions/issue-97484.stderr
new file mode 100644
index 00000000000..4c461633121
--- /dev/null
+++ b/src/test/ui/argument-suggestions/issue-97484.stderr
@@ -0,0 +1,27 @@
+error[E0061]: this function takes 4 arguments but 7 arguments were supplied
+  --> $DIR/issue-97484.rs:12:5
+   |
+LL |     foo(&&A, B, C, D, E, F, G);
+   |     ^^^      -  -        - argument unexpected
+   |              |  |
+   |              |  argument of type `&E` unexpected
+   |              argument of type `D` unexpected
+   |
+note: function defined here
+  --> $DIR/issue-97484.rs:9:4
+   |
+LL | fn foo(a: &A, d: D, e: &E, g: G) {}
+   |    ^^^ -----  ----  -----  ----
+help: consider removing the ``
+   |
+LL -     foo(&&A, B, C, D, E, F, G);
+LL +     foo(&&A, B, C, D, E, F, G);
+   | 
+help: remove the extra arguments
+   |
+LL |     foo(&&A, D, {&E}, G);
+   |     ~~~~~~~~~~~~~~~~~~~~
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0061`.