3 unstable releases
0.2.0 | Jun 7, 2023 |
---|---|
0.1.1 | Sep 28, 2021 |
0.1.0 | Sep 28, 2021 |
#7 in #destruct
626 downloads per month
Used in 6 crates
(via destruct-drop)
7KB
77 lines
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() {
// prints "dropped Inner" and then "dropped Container"
drop(Container { inner: Inner });
// prints only "dropped Inner"
Container { inner: Inner }.destruct_drop();
}
License
Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT)
Dependencies
~230–670KB
~16K SLoC