The logic of the drop flag is to bail immediately before running the destructor. This doesn't seem to to that? If the contents are all 0 it looks like everything *should* work out ok, but it would be nice to have a comment.

I'm not sure how the drop flag implementation works, but it may also be nice to have a test which conditionally moves out of a stack local slot. Something like:

```rust
let vec = Vec::new();
if rand() % 2 == 0 {
    drop(vec);
}
```