diff options
| author | Jakub Wieczorek <jakub@jakub.cc> | 2014-09-20 21:25:25 +0200 |
|---|---|---|
| committer | Jakub Wieczorek <jakub@jakub.cc> | 2014-10-05 22:32:47 +0200 |
| commit | b9896cbf6efa6736730f4666957b94b7e29d7fdf (patch) | |
| tree | 694a76e5aad1c1e355cb93cf61e5d5b679ccc4b9 /src/test | |
| parent | c586490715a35d3c9dae17de7f8907c2f73168d3 (diff) | |
| download | rust-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.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-17405.rs | 19 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-17518.rs | 17 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-17800.rs | 21 |
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 + _ => (), + } +} |
