about summary refs log tree commit diff
path: root/src/test/run-pass/expr-if-generic.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-pass/expr-if-generic.rs')
-rw-r--r--src/test/run-pass/expr-if-generic.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/test/run-pass/expr-if-generic.rs b/src/test/run-pass/expr-if-generic.rs
index 2e6db3bba07..f5b2a1a7986 100644
--- a/src/test/run-pass/expr-if-generic.rs
+++ b/src/test/run-pass/expr-if-generic.rs
@@ -14,8 +14,8 @@
 // Tests for if as expressions with dynamic type sizes
 type compare<T> = @fn(T, T) -> bool;
 
-fn test_generic<T:Copy>(expected: T, not_expected: T, eq: compare<T>) {
-    let actual: T = if true { copy expected } else { not_expected };
+fn test_generic<T:Clone>(expected: T, not_expected: T, eq: compare<T>) {
+    let actual: T = if true { expected.clone() } else { not_expected };
     assert!((eq(expected, actual)));
 }
 
@@ -24,7 +24,11 @@ fn test_bool() {
     test_generic::<bool>(true, false, compare_bool);
 }
 
-struct Pair {a: int, b: int}
+#[deriving(Clone)]
+struct Pair {
+    a: int,
+    b: int,
+}
 
 fn test_rec() {
     fn compare_rec(t1: Pair, t2: Pair) -> bool {