diff options
| author | Kevin Butler <haqkrs@gmail.com> | 2014-04-15 05:58:22 +0100 |
|---|---|---|
| committer | Kevin Butler <haqkrs@gmail.com> | 2014-04-17 18:24:51 +0100 |
| commit | 3b9ade0f81d519733940ec28b796c11fdb0fd17b (patch) | |
| tree | db06f4d911d1ad0d4f9335419b7f6f3e2798584b | |
| parent | 903fbd263553c105b7b8c5f5ee19fab89d4618bd (diff) | |
| download | rust-3b9ade0f81d519733940ec28b796c11fdb0fd17b.tar.gz rust-3b9ade0f81d519733940ec28b796c11fdb0fd17b.zip | |
Tests for issue 5997 failure and success conditions.
Closes #5997.
| -rw-r--r-- | src/test/compile-fail/issue-5997-enum.rs | 22 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-5997-struct.rs | 21 | ||||
| -rw-r--r-- | src/test/run-pass/issue-5997.rs | 22 |
3 files changed, 65 insertions, 0 deletions
diff --git a/src/test/compile-fail/issue-5997-enum.rs b/src/test/compile-fail/issue-5997-enum.rs new file mode 100644 index 00000000000..d74bb39531c --- /dev/null +++ b/src/test/compile-fail/issue-5997-enum.rs @@ -0,0 +1,22 @@ +// 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. + +// error-pattern: missing type param `Z` in the substitution of `Z` + +fn f<Z>() -> bool { + enum E { V(Z) } + + true +} + +fn main() { + let b = f::<int>(); + assert!(b); +} diff --git a/src/test/compile-fail/issue-5997-struct.rs b/src/test/compile-fail/issue-5997-struct.rs new file mode 100644 index 00000000000..ad31b851024 --- /dev/null +++ b/src/test/compile-fail/issue-5997-struct.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. + +fn f<T>() -> bool { + struct S(T); //~ ERROR use of undeclared type name `T` + //~^ ERROR attempt to use a type argument out of scope + + true +} + +fn main() { + let b = f::<int>(); + assert!(b); +} diff --git a/src/test/run-pass/issue-5997.rs b/src/test/run-pass/issue-5997.rs new file mode 100644 index 00000000000..9e2a001cb21 --- /dev/null +++ b/src/test/run-pass/issue-5997.rs @@ -0,0 +1,22 @@ +// 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. + +fn f<T>() -> bool { + enum E<T> { V(T) } + + struct S<T>(T); + + true +} + +fn main() { + let b = f::<int>(); + assert!(b); +} \ No newline at end of file |
