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 000000000000..47d7f2abf5ff --- /dev/null +++ b/src/test/compile-fail/issue-2587-2.rs @@ -0,0 +1,21 @@ +fn foo(+_t: T) { fail; } + +fn bar(+_t: T) { fail; } + +struct S { + x: int; + drop {} +} + +fn S(x: int) -> S { S { x: x } } + +impl S: Add { + 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 +}