about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBastian Kauschke <bastian_kauschke@hotmail.de>2020-09-21 22:01:18 +0200
committerBastian Kauschke <bastian_kauschke@hotmail.de>2020-09-21 22:01:18 +0200
commit9a493ced748e2e3e7390fc6f28640d23cb90e67b (patch)
tree5d8d9993bea93ca78659671bc328283b35761d33
parent7a02ebd828c8d9c68e8e972326ede8696fb3f6b7 (diff)
downloadrust-9a493ced748e2e3e7390fc6f28640d23cb90e67b.tar.gz
rust-9a493ced748e2e3e7390fc6f28640d23cb90e67b.zip
add test for closures in abstract consts
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/closures.rs6
-rw-r--r--src/test/ui/const-generics/const_evaluatable_checked/closures.stderr15
2 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/closures.rs b/src/test/ui/const-generics/const_evaluatable_checked/closures.rs
new file mode 100644
index 00000000000..32f43591e37
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/closures.rs
@@ -0,0 +1,6 @@
+#![feature(const_generics, const_evaluatable_checked)]
+#![allow(incomplete_features)]
+fn test<const N: usize>() -> [u8; N + (|| 42)()] {}
+//~^ ERROR overly complex generic constant
+
+fn main() {}
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/closures.stderr b/src/test/ui/const-generics/const_evaluatable_checked/closures.stderr
new file mode 100644
index 00000000000..7bb23f1488d
--- /dev/null
+++ b/src/test/ui/const-generics/const_evaluatable_checked/closures.stderr
@@ -0,0 +1,15 @@
+error: overly complex generic constant
+  --> $DIR/closures.rs:3:35
+   |
+LL | fn test<const N: usize>() -> [u8; N + (|| 42)()] {}
+   |                                   ^^^^^^^^^^^^^
+   |
+note: unsupported rvalue
+  --> $DIR/closures.rs:3:39
+   |
+LL | fn test<const N: usize>() -> [u8; N + (|| 42)()] {}
+   |                                       ^^^^^^^
+   = help: consider moving this anonymous constant into a `const` function
+
+error: aborting due to previous error
+