summary refs log tree commit diff
path: root/src/test/compile-fail/empty-struct-unit-pat.rs
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2015-10-02 22:41:24 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2015-10-13 15:19:20 +0300
commit8a12c19171887ea6d7ff708db2e2581ceaf16c14 (patch)
tree2ff02dad84730da28dc96d487d96a442350ee320 /src/test/compile-fail/empty-struct-unit-pat.rs
parentbeda1f88a7d87cf994fe8e3a5b2fe126e31fcae9 (diff)
downloadrust-8a12c19171887ea6d7ff708db2e2581ceaf16c14.tar.gz
rust-8a12c19171887ea6d7ff708db2e2581ceaf16c14.zip
Test and gate empty structures and variants better
Diffstat (limited to 'src/test/compile-fail/empty-struct-unit-pat.rs')
-rw-r--r--src/test/compile-fail/empty-struct-unit-pat.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/test/compile-fail/empty-struct-unit-pat.rs b/src/test/compile-fail/empty-struct-unit-pat.rs
new file mode 100644
index 00000000000..966a2780f9f
--- /dev/null
+++ b/src/test/compile-fail/empty-struct-unit-pat.rs
@@ -0,0 +1,40 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Can't use unit struct as enum pattern
+
+#![feature(braced_empty_structs)]
+
+FIXME //~ ERROR expected item, found `FIXME`
+
+struct Empty1;
+
+enum E {
+    Empty2
+}
+
+fn main() {
+    let e1 = Empty1;
+    let e2 = E::Empty2;
+
+    // Issue #28692
+    // match e1 {
+    //     Empty1() => () // ERROR variable `Empty1` should have a snake case name
+    // }
+    // match e1 {
+    //     Empty1(..) => () // ERROR variable `Empty1` should have a snake case name
+    // }
+    // match e2 {
+    //     E::Empty2() => () // ERROR variable `Empty2` should have a snake case name
+    // }
+    // match e2 {
+    //     E::Empty2(..) => () // ERROR variable `Empty2` should have a snake case name
+    // }
+}