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

destruct-drop

用于在不丢弃容器的情况下丢弃结构体或枚举字段的宏

2 个不稳定版本

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

#1489Rust 模式

Download history 107/week @ 2024-03-13 69/week @ 2024-03-20 66/week @ 2024-03-27 90/week @ 2024-04-03 80/week @ 2024-04-10 104/week @ 2024-04-17 42/week @ 2024-04-24 90/week @ 2024-05-01 21/week @ 2024-05-08 37/week @ 2024-05-15 73/week @ 2024-05-22 60/week @ 2024-05-29 75/week @ 2024-06-05 90/week @ 2024-06-12 139/week @ 2024-06-19 153/week @ 2024-06-26

465 每月下载量
5 个 crate 中使用 (通过 netcorehost)

MIT 许可证

5KB

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)

依赖项

~275–730KB
~17K SLoC