about summary refs log tree commit diff
path: root/tests/ui/const-generics/const-generic-function.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/const-generics/const-generic-function.rs')
-rw-r--r--tests/ui/const-generics/const-generic-function.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/const-generics/const-generic-function.rs b/tests/ui/const-generics/const-generic-function.rs
new file mode 100644
index 00000000000..c8d2683e53f
--- /dev/null
+++ b/tests/ui/const-generics/const-generic-function.rs
@@ -0,0 +1,21 @@
+fn foo<const N: i32>() -> i32 {
+    N
+}
+
+const fn bar(n: i32, m: i32) -> i32 {
+    n
+}
+
+const fn baz() -> i32 {
+    1
+}
+
+const FOO: i32 = 3;
+
+fn main() {
+    foo::<baz()>(); //~ ERROR expected type, found function `baz`
+    //~| ERROR unresolved item provided when a constant was expected
+    foo::<bar(bar(1, 1), bar(1, 1))>(); //~ ERROR expected type, found `1`
+    foo::<bar(1, 1)>(); //~ ERROR expected type, found `1`
+    foo::<bar(FOO, 2)>(); //~ ERROR expected type, found `2`
+}