Shrinkwrap doesnt work when there is explicit `Drop` trait implementation.

This code does not compile:

#[derive(Shrinkwrap)]
struct Test {
    pub data: String,
}

impl Drop for Test {
    fn drop(&mut self) {}
}

@williamyaoh would you be so nice and take a look at this? This is pretty limiting :(

Edited by Wojciech Danilo