From f6211ab187abf18f458f289fef3c48b14a0a0af8 Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Mon, 15 Oct 2012 12:00:32 -0700 Subject: [PATCH] Add various test cases (xfailed) --- src/test/auxiliary/issue_3136_a.rc | 3 +++ src/test/auxiliary/issue_3136_a.rs | 15 +++++++++++++++ src/test/compile-fail/issue-2074.rs | 12 ++++++++++++ src/test/compile-fail/issue-3214.rs | 8 ++++++++ src/test/run-pass/issue-2284.rs | 11 +++++++++++ src/test/run-pass/issue-3447.rs | 25 +++++++++++++++++++++++++ src/test/run-pass/issue-3521.rs | 10 ++++++++++ src/test/run-pass/issue_3136_b.rs | 6 ++++++ 8 files changed, 90 insertions(+) create mode 100644 src/test/auxiliary/issue_3136_a.rc create mode 100644 src/test/auxiliary/issue_3136_a.rs create mode 100644 src/test/compile-fail/issue-2074.rs create mode 100644 src/test/compile-fail/issue-3214.rs create mode 100644 src/test/run-pass/issue-2284.rs create mode 100644 src/test/run-pass/issue-3447.rs create mode 100644 src/test/run-pass/issue-3521.rs create mode 100644 src/test/run-pass/issue_3136_b.rs diff --git a/src/test/auxiliary/issue_3136_a.rc b/src/test/auxiliary/issue_3136_a.rc new file mode 100644 index 00000000000..532c669bd1d --- /dev/null +++ b/src/test/auxiliary/issue_3136_a.rc @@ -0,0 +1,3 @@ +#[crate_type = "lib"]; + +pub mod issue_3136_a; diff --git a/src/test/auxiliary/issue_3136_a.rs b/src/test/auxiliary/issue_3136_a.rs new file mode 100644 index 00000000000..b3af6880323 --- /dev/null +++ b/src/test/auxiliary/issue_3136_a.rs @@ -0,0 +1,15 @@ +trait x { + fn use_x(); +} +enum y = (); +impl y:x { + fn use_x() { + struct foo { //~ ERROR quux + i: () + } + fn new_foo(i: ()) -> foo { + foo { i: i } + } + } +} + diff --git a/src/test/compile-fail/issue-2074.rs b/src/test/compile-fail/issue-2074.rs new file mode 100644 index 00000000000..d911b7db3dd --- /dev/null +++ b/src/test/compile-fail/issue-2074.rs @@ -0,0 +1,12 @@ +// xfail-test +fn main() { + let one = fn@() -> uint { + enum r { a }; + return a as uint; + }; + let two = fn@() -> uint { + enum r { a }; + return a as uint; + }; + one(); two(); +} diff --git a/src/test/compile-fail/issue-3214.rs b/src/test/compile-fail/issue-3214.rs new file mode 100644 index 00000000000..3c783b99232 --- /dev/null +++ b/src/test/compile-fail/issue-3214.rs @@ -0,0 +1,8 @@ +// xfail-test +fn foo() { + struct foo { + mut x: T, //~ ERROR quux + drop { } + } +} +fn main() { } diff --git a/src/test/run-pass/issue-2284.rs b/src/test/run-pass/issue-2284.rs new file mode 100644 index 00000000000..3689c42253b --- /dev/null +++ b/src/test/run-pass/issue-2284.rs @@ -0,0 +1,11 @@ +// xfail-test +trait Send { + fn f(); +} + +fn f(t: T) { + t.f(); +} + +fn main() { +} \ No newline at end of file diff --git a/src/test/run-pass/issue-3447.rs b/src/test/run-pass/issue-3447.rs new file mode 100644 index 00000000000..fab92ea6dca --- /dev/null +++ b/src/test/run-pass/issue-3447.rs @@ -0,0 +1,25 @@ +// xfail-test +struct list { + element: &self/T, + mut next: Option<@list> +} + +impl list{ + fn addEnd(&self, element: &self/T) { + let newList = list { + element: element, + next: option::None + }; + + self.next = Some(@newList); + } +} + +fn main() { + let s = @"str"; + let ls: list<@str> = list { + element: &s, + next: option::None + }; + io::println(*ls.element); +} diff --git a/src/test/run-pass/issue-3521.rs b/src/test/run-pass/issue-3521.rs new file mode 100644 index 00000000000..d8693fe18d3 --- /dev/null +++ b/src/test/run-pass/issue-3521.rs @@ -0,0 +1,10 @@ +// xfail-test +fn main() { + let foo = 100; + + enum Stuff { + Bar = foo + } + + log(error, Bar); +} diff --git a/src/test/run-pass/issue_3136_b.rs b/src/test/run-pass/issue_3136_b.rs new file mode 100644 index 00000000000..ef8e1af56d7 --- /dev/null +++ b/src/test/run-pass/issue_3136_b.rs @@ -0,0 +1,6 @@ +// xfail-fast - check-fast doesn't understand aux-build +// aux-build:issue_3136_a.rc + +extern mod issue_3136_a; +fn main() {} +