about summary refs log tree commit diff
path: root/tests/ui/consts/const-fn-mismatch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts/const-fn-mismatch.rs')
-rw-r--r--tests/ui/consts/const-fn-mismatch.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/consts/const-fn-mismatch.rs b/tests/ui/consts/const-fn-mismatch.rs
new file mode 100644
index 00000000000..3107b8128e6
--- /dev/null
+++ b/tests/ui/consts/const-fn-mismatch.rs
@@ -0,0 +1,17 @@
+// Test that we can't declare a const fn in an impl -- right now it's
+// just not allowed at all, though eventually it'd make sense to allow
+// it if the trait fn is const (but right now no trait fns can be
+// const).
+
+trait Foo {
+    fn f() -> u32;
+}
+
+impl Foo for u32 {
+    const fn f() -> u32 {
+        //~^ ERROR functions in traits cannot be declared const
+        22
+    }
+}
+
+fn main() {}