summaryrefslogtreecommitdiffstats
path: root/src/test/ui/no-patterns-in-args.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/no-patterns-in-args.rs')
-rw-r--r--src/test/ui/no-patterns-in-args.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/no-patterns-in-args.rs b/src/test/ui/no-patterns-in-args.rs
new file mode 100644
index 000000000..54836b0a3
--- /dev/null
+++ b/src/test/ui/no-patterns-in-args.rs
@@ -0,0 +1,16 @@
+extern "C" {
+ fn f1(mut arg: u8); //~ ERROR patterns aren't allowed in foreign function declarations
+ fn f2(&arg: u8); //~ ERROR patterns aren't allowed in foreign function declarations
+ fn f3(arg @ _: u8); //~ ERROR patterns aren't allowed in foreign function declarations
+ fn g1(arg: u8); // OK
+ fn g2(_: u8); // OK
+// fn g3(u8); // Not yet
+}
+
+type A1 = fn(mut arg: u8); //~ ERROR patterns aren't allowed in function pointer types
+type A2 = fn(&arg: u8); //~ ERROR patterns aren't allowed in function pointer types
+type B1 = fn(arg: u8); // OK
+type B2 = fn(_: u8); // OK
+type B3 = fn(u8); // OK
+
+fn main() {}