7 个版本
使用旧的 Rust 2015
0.1.7 | 2020年9月25日 |
---|---|
0.1.6 | 2020年4月28日 |
0.1.3 | 2019年12月6日 |
#9 in #custom-derive
每月 29 次下载
23KB
547 代码行数,不包括注释
Derive-Wrapper
一个自定义 derive 宏助手,让您轻松地为包装类型派生特性。
示例
#[derive(Debug, Default, Index, AsRef, LowerHexIter)]
struct Array32([u8; 32]);
#[derive(Debug, Default, LowerHex)]
struct Flag(i32);
#[derive(Debug, Index, LowerHexIter)]
struct Hi {
#[wrap]
a: [u8; 32],
b: Flag,
}
#[derive(Debug, Display, From, Error)]
#[display_from(Debug)]
struct Printer<T: std::fmt::Debug>(T);
#[derive(Default, LowerHex, Display)]
#[display_from(LowerHex)]
#[wrap = "two"]
struct Big {
one: Array32,
two: Hi,
}
#[derive(From)]
enum MyEnum<T> {
#[derive_from]
First(u8),
#[derive_from]
Second(Array32),
Third,
#[derive_from]
Fourth {
other: Vec<u8>,
},
#[derive_from]
Fifth(PhantomData<T>),
#[derive_from(f32, f64)]
Floats,
#[derive_from(std::io::Error, std::fmt::Error)]
Errors,
}
依赖项
~2MB
~46K 额外代码行数