Opt-in copy causes types that shouldn't be Copy to be copy · Issue #20126 · rust-lang/rust (original) (raw)
Basically, it's now possible to write:
struct Foo { a: int };
impl Drop for Foo { fn drop(&mut self) { } }
impl Copy for Foo { }
and have everything work. This unfortunately means that doing something like let a = b
with a Foo
will zero b, but not move it.