summaryrefslogtreecommitdiffstats
path: root/src/test/ui/const-generics/occurs-check/unify-n-nplusone.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/const-generics/occurs-check/unify-n-nplusone.rs')
-rw-r--r--src/test/ui/const-generics/occurs-check/unify-n-nplusone.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/occurs-check/unify-n-nplusone.rs b/src/test/ui/const-generics/occurs-check/unify-n-nplusone.rs
new file mode 100644
index 000000000..c6324bca1
--- /dev/null
+++ b/src/test/ui/const-generics/occurs-check/unify-n-nplusone.rs
@@ -0,0 +1,16 @@
+#![feature(generic_const_exprs)]
+#![allow(incomplete_features)]
+
+// This test would tries to unify `N` with `N + 1` which must fail the occurs check.
+
+fn bind<const N: usize>(value: [u8; N]) -> [u8; N + 1] {
+ todo!()
+}
+
+fn sink(_: [u8; 5]) {}
+
+fn main() {
+ let mut arr = Default::default();
+ arr = bind(arr); //~ ERROR mismatched types
+ sink(arr);
+}