about summary refs log tree commit diff
path: root/src/test/ui
diff options
context:
space:
mode:
authorvarkor <github@varkor.com>2019-04-23 13:20:04 +0100
committervarkor <github@varkor.com>2019-05-01 23:11:19 +0100
commita188850dedeab85df9b11222f25afc59aeb3bb94 (patch)
treec3c6fa62c3327967f22ac8cedd9d666de48f3c28 /src/test/ui
parent16d6ee39523bbaa1fd38808cab30f284ce3f30f8 (diff)
downloadrust-a188850dedeab85df9b11222f25afc59aeb3bb94.tar.gz
rust-a188850dedeab85df9b11222f25afc59aeb3bb94.zip
Add a test for incorrect numbers of const args
Diffstat (limited to 'src/test/ui')
-rw-r--r--src/test/ui/const-generics/incorrect-number-of-const-args.rs11
-rw-r--r--src/test/ui/const-generics/incorrect-number-of-const-args.stderr21
2 files changed, 32 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/incorrect-number-of-const-args.rs b/src/test/ui/const-generics/incorrect-number-of-const-args.rs
new file mode 100644
index 00000000000..7059e9d8348
--- /dev/null
+++ b/src/test/ui/const-generics/incorrect-number-of-const-args.rs
@@ -0,0 +1,11 @@
+#![feature(const_generics)]
+//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash
+
+fn foo<const X: usize, const Y: usize>() -> usize {
+    0
+}
+
+fn main() {
+    foo::<0>(); //~ ERROR wrong number of const arguments: expected 2, found 1
+    foo::<0, 0, 0>(); //~ ERROR wrong number of const arguments: expected 2, found 3
+}
diff --git a/src/test/ui/const-generics/incorrect-number-of-const-args.stderr b/src/test/ui/const-generics/incorrect-number-of-const-args.stderr
new file mode 100644
index 00000000000..11727733eb5
--- /dev/null
+++ b/src/test/ui/const-generics/incorrect-number-of-const-args.stderr
@@ -0,0 +1,21 @@
+warning: the feature `const_generics` is incomplete and may cause the compiler to crash
+  --> $DIR/incorrect-number-of-const-args.rs:1:12
+   |
+LL | #![feature(const_generics)]
+   |            ^^^^^^^^^^^^^^
+
+error[E0107]: wrong number of const arguments: expected 2, found 1
+  --> $DIR/incorrect-number-of-const-args.rs:9:5
+   |
+LL |     foo::<0>();
+   |     ^^^^^^^^ expected 2 const arguments
+
+error[E0107]: wrong number of const arguments: expected 2, found 3
+  --> $DIR/incorrect-number-of-const-args.rs:10:17
+   |
+LL |     foo::<0, 0, 0>();
+   |                 ^ unexpected const argument
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0107`.