From 392b6e7c8150ca852138212457a0dfae25eaa9b2 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Fri, 3 Jun 2016 23:15:00 +0300 Subject: [PATCH] Add tests --- src/test/compile-fail-fulldeps/issue-18986.rs | 3 ++- src/test/compile-fail/issue-32086.rs | 17 +++++++++++++++++ src/test/compile-fail/issue-34047.rs | 19 +++++++++++++++++++ src/test/run-pass/issue-34074.rs | 18 ++++++++++++++++++ 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 src/test/compile-fail/issue-32086.rs create mode 100644 src/test/compile-fail/issue-34047.rs create mode 100644 src/test/run-pass/issue-34074.rs diff --git a/src/test/compile-fail-fulldeps/issue-18986.rs b/src/test/compile-fail-fulldeps/issue-18986.rs index 5f7752bb203c..4245786295b3 100644 --- a/src/test/compile-fail-fulldeps/issue-18986.rs +++ b/src/test/compile-fail-fulldeps/issue-18986.rs @@ -15,6 +15,7 @@ pub use use_from_trait_xc::Trait; fn main() { match () { - Trait { x: 42 } => () //~ ERROR `Trait` does not name a struct + Trait { x: 42 } => () //~ ERROR expected variant, struct or type alias, found trait `Trait` + //~^ ERROR `Trait` does not name a struct or a struct variant } } diff --git a/src/test/compile-fail/issue-32086.rs b/src/test/compile-fail/issue-32086.rs new file mode 100644 index 000000000000..926f58198dfa --- /dev/null +++ b/src/test/compile-fail/issue-32086.rs @@ -0,0 +1,17 @@ +// Copyright 2016 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +struct S(u8); +const C: S = S(10); + +fn main() { + let C(a) = S(11); //~ ERROR expected variant or struct, found constant `C` + let C(..) = S(11); //~ ERROR expected variant or struct, found constant `C` +} diff --git a/src/test/compile-fail/issue-34047.rs b/src/test/compile-fail/issue-34047.rs new file mode 100644 index 000000000000..630694d91561 --- /dev/null +++ b/src/test/compile-fail/issue-34047.rs @@ -0,0 +1,19 @@ +// Copyright 2016 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +const C: u8 = 0; //~ NOTE a constant `C` is defined here + +fn main() { + match 1u8 { + mut C => {} //~ ERROR match bindings cannot shadow constants + //~^ NOTE cannot be named the same as a constant + _ => {} + } +} diff --git a/src/test/run-pass/issue-34074.rs b/src/test/run-pass/issue-34074.rs new file mode 100644 index 000000000000..169a87f0b12f --- /dev/null +++ b/src/test/run-pass/issue-34074.rs @@ -0,0 +1,18 @@ +// Copyright 2016 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Make sure several unnamed function arguments don't conflict with each other + +trait Tr { + fn f(u8, u8) {} +} + +fn main() { +}