From 78b0d33c3552e47d9472f8ea4c1fb996a21597dc Mon Sep 17 00:00:00 2001 From: Michael Sullivan Date: Tue, 31 May 2011 16:11:30 -0700 Subject: [PATCH] More tests for <-. --- src/test/compile-fail/move-not-variable.rs | 4 ---- src/test/run-pass/move-1.rs | 3 --- src/test/run-pass/move-2.rs | 5 +++++ src/test/run-pass/move-3.rs | 21 +++++++++++++++++++++ src/test/run-pass/move-4.rs | 15 +++++++++++++++ 5 files changed, 41 insertions(+), 7 deletions(-) delete mode 100644 src/test/compile-fail/move-not-variable.rs create mode 100644 src/test/run-pass/move-2.rs create mode 100644 src/test/run-pass/move-3.rs create mode 100644 src/test/run-pass/move-4.rs diff --git a/src/test/compile-fail/move-not-variable.rs b/src/test/compile-fail/move-not-variable.rs deleted file mode 100644 index e6aaa0b9404..00000000000 --- a/src/test/compile-fail/move-not-variable.rs +++ /dev/null @@ -1,4 +0,0 @@ -fn main() { - auto x; - x <- 5; -} diff --git a/src/test/run-pass/move-1.rs b/src/test/run-pass/move-1.rs index d7e2083edbc..d6fb43fe2ad 100644 --- a/src/test/run-pass/move-1.rs +++ b/src/test/run-pass/move-1.rs @@ -1,6 +1,3 @@ -use std; -import std::uint; - fn test(bool x, @tup(int, int, int) foo) -> int { auto bar = foo; let @tup(int,int,int) y; diff --git a/src/test/run-pass/move-2.rs b/src/test/run-pass/move-2.rs new file mode 100644 index 00000000000..addedf21c57 --- /dev/null +++ b/src/test/run-pass/move-2.rs @@ -0,0 +1,5 @@ +fn main() { + auto x = @tup(1,2,3); + auto y <- x; + assert (y._1 == 2); +} diff --git a/src/test/run-pass/move-3.rs b/src/test/run-pass/move-3.rs new file mode 100644 index 00000000000..d14ff2a005b --- /dev/null +++ b/src/test/run-pass/move-3.rs @@ -0,0 +1,21 @@ +use std; +import std::uint; + +fn test(bool x, @tup(int, int, int) foo) -> int { + auto bar = foo; + let @tup(int,int,int) y; + if (x) { + y <- bar; + } else { + y = @tup(4,5,6); + } + ret y._1; +} + +fn main() { + auto x = @tup(1,2,3); + for each (uint i in uint::range(0u, 10000u)) { + assert (test(true, x) == 2); + } + assert (test(false, x) == 5); +} diff --git a/src/test/run-pass/move-4.rs b/src/test/run-pass/move-4.rs new file mode 100644 index 00000000000..edbc5de5580 --- /dev/null +++ b/src/test/run-pass/move-4.rs @@ -0,0 +1,15 @@ +use std; +import std::uint; + +fn test(@tup(int, int, int) foo) -> @tup(int, int, int) { + auto bar <- foo; + auto baz <- bar; + auto quux <- baz; + ret quux; +} + +fn main() { + auto x = @tup(1,2,3); + auto y = test(x); + assert (y._2 == 3); +}