3 个不稳定版本
0.2.0 | 2023年6月7日 |
---|---|
0.1.1 | 2021年9月28日 |
0.1.0 | 2021年9月28日 |
#7 在 #destruct
474 每月下载量
在 6 个包中使用(通过 destruct-drop)
7KB
77 行
destruct-drop
宏,用于在删除容器之前删除结构体或枚举的字段。
用法
将 #[derive(DestructDrop)]
添加到你的 struct
或 enum
定义中。
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 许可协议下许可(LICENSE 或 http://opensource.org/licenses/MIT)
依赖项
~305–760KB
~18K SLoC