summary refs log tree commit diff
path: root/src/test/compile-fail
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-09-06 16:46:41 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-09-06 16:46:59 -0700
commit8152164a3436c2b625f02604bed7f32071d6623a (patch)
treea7c29d8c95db336e4d4d141c6d4db95554e50eeb /src/test/compile-fail
parent0ce88fe401e272f072a18e01bddabdea93abec51 (diff)
downloadrust-8152164a3436c2b625f02604bed7f32071d6623a.tar.gz
rust-8152164a3436c2b625f02604bed7f32071d6623a.zip
Another test for #2587
Diffstat (limited to 'src/test/compile-fail')
-rw-r--r--src/test/compile-fail/issue-2587-2.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/compile-fail/issue-2587-2.rs b/src/test/compile-fail/issue-2587-2.rs
new file mode 100644
index 00000000000..47d7f2abf5f
--- /dev/null
+++ b/src/test/compile-fail/issue-2587-2.rs
@@ -0,0 +1,21 @@
+fn foo<T: copy>(+_t: T) { fail; }
+
+fn bar<T>(+_t: T) { fail; }
+
+struct S {
+    x: int;
+    drop {}
+}
+
+fn S(x: int) -> S { S { x: x } }
+
+impl S: Add<S, S> {
+    pure fn add(rhs: S) -> S {
+        S { x: self.x + rhs.x }
+    }
+}
+
+fn main() {
+   let v = S(5);
+   let _y = v + (move v); //~ ERROR: copying a noncopyable value
+}