about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorJakub Wieczorek <jakub@jakub.cc>2014-09-20 21:25:25 +0200
committerJakub Wieczorek <jakub@jakub.cc>2014-10-05 22:32:47 +0200
commitb9896cbf6efa6736730f4666957b94b7e29d7fdf (patch)
tree694a76e5aad1c1e355cb93cf61e5d5b679ccc4b9 /src/test
parentc586490715a35d3c9dae17de7f8907c2f73168d3 (diff)
downloadrust-b9896cbf6efa6736730f4666957b94b7e29d7fdf.tar.gz
rust-b9896cbf6efa6736730f4666957b94b7e29d7fdf.zip
Fix handling of struct variants in a couple of places
Fixes #17405.
Fixes #17518.
Fixes #17800.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/issue-15896.rs2
-rw-r--r--src/test/compile-fail/issue-17405.rs19
-rw-r--r--src/test/compile-fail/issue-17518.rs17
-rw-r--r--src/test/compile-fail/issue-17800.rs21
4 files changed, 58 insertions, 1 deletions
diff --git a/src/test/compile-fail/issue-15896.rs b/src/test/compile-fail/issue-15896.rs
index a873c1e3b3f..b7fa54e5c18 100644
--- a/src/test/compile-fail/issue-15896.rs
+++ b/src/test/compile-fail/issue-15896.rs
@@ -18,7 +18,7 @@ fn main() {
     let e = B(REB(()), Tau { t: 3 });
     let u = match e {
         B(
-          Tau{t: x},    //~ ERROR mismatched types
+          Tau{t: x}, //~ ERROR `Tau` does not name a variant
           _) => x,
     };
 }
diff --git a/src/test/compile-fail/issue-17405.rs b/src/test/compile-fail/issue-17405.rs
new file mode 100644
index 00000000000..b80cfb521ef
--- /dev/null
+++ b/src/test/compile-fail/issue-17405.rs
@@ -0,0 +1,19 @@
+// Copyright 2014 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.
+
+enum Foo {
+    Bar(int)
+}
+
+fn main() {
+    match Bar(1i) {
+        Foo { i } => () //~ ERROR `Foo` does not name a variant
+    }
+}
diff --git a/src/test/compile-fail/issue-17518.rs b/src/test/compile-fail/issue-17518.rs
new file mode 100644
index 00000000000..0410fadeb78
--- /dev/null
+++ b/src/test/compile-fail/issue-17518.rs
@@ -0,0 +1,17 @@
+// Copyright 2014 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.
+
+enum SomeEnum {
+    E
+}
+
+fn main() {
+    E { name: "foobar" }; //~ ERROR `E` does not name a structure
+}
diff --git a/src/test/compile-fail/issue-17800.rs b/src/test/compile-fail/issue-17800.rs
new file mode 100644
index 00000000000..8ef016e3fd5
--- /dev/null
+++ b/src/test/compile-fail/issue-17800.rs
@@ -0,0 +1,21 @@
+// Copyright 2014 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.
+
+enum MyOption<T> {
+    MySome(T),
+    MyNone,
+}
+
+fn main() {
+    match MySome(42i) {
+        MySome { x: 42i } => (), //~ ERROR `MySome` does not name a struct variant
+        _ => (),
+    }
+}