destruct-drop

Macro for dropping the fields of a struct or enum without dropping the container.
Usage
Add #[derive(DestructDrop)] to your struct or enum definition.
use destruct_drop::DestructDrop;
#[derive(DestructDrop)]
struct Container {
inner: Inner
}
struct Inner;
impl Drop for Container {
fn drop(&mut self) {
println!("dropped Container");
}
}
impl Drop for Inner {
fn drop(&mut self) {
println!("dropped Inner");
}
}
fn main() {
drop(Container { inner: Inner });
Container { inner: Inner }.destruct_drop();
}
License
Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)