#drop #macro-derive #derive #macro #destruct

destruct-drop-derive

为 destruct-drop 实际的 derive 宏

3 个不稳定版本

0.2.0 2023年6月7日
0.1.1 2021年9月28日
0.1.0 2021年9月28日

#7#destruct

Download history 106/week @ 2024-03-13 74/week @ 2024-03-20 78/week @ 2024-03-27 99/week @ 2024-04-03 85/week @ 2024-04-10 107/week @ 2024-04-17 48/week @ 2024-04-24 95/week @ 2024-05-01 25/week @ 2024-05-08 42/week @ 2024-05-15 78/week @ 2024-05-22 62/week @ 2024-05-29 78/week @ 2024-06-05 92/week @ 2024-06-12 141/week @ 2024-06-19 155/week @ 2024-06-26

474 每月下载量
6 个包中使用(通过 destruct-drop

MIT 许可协议

7KB
77

destruct-drop

CI crates.io Documentation dependency status MIT

宏,用于在删除容器之前删除结构体或枚举的字段。

用法

#[derive(DestructDrop)] 添加到你的 structenum 定义中。

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();
}

许可协议

在 MIT 许可协议下许可(LICENSEhttp://opensource.org/licenses/MIT

依赖项

~305–760KB
~18K SLoC