2个版本
0.1.1 | 2023年4月8日 |
---|---|
0.1.0 | 2023年4月7日 |
在 过程宏 中排名第 1480
每月下载量 25
9KB
149 行
better-default-derive
更好的 std::default::Default 宏。
支持
- 结构体
- 单元
- 命名
- 匿名
- 泛型
- 枚举
- 单元
- 命名
- 匿名
- 泛型
用法
[dependencies]
better-default-derive = "0.1.0"
use better_default_derive::Default;
#[derive(Debug, PartialEq, Eq, Default)]
enum Either<L, R> {
Left(L),
#[default]
Right(R),
}
fn main() {
let either: Either<String, u8> = Either::default();
assert_eq!(either, Either::Right(u8::default()));
}
路线图
-
当字段缺少
Default
实例时,提供更好的错误信息。 -
支持联合类型
-
支持关联类型
use better_default_derive::Default; pub trait Trait { type Value; } #[derive(Default)] pub struct Field<T: Trait> { values: Vec<T::Value>, }
依赖
~290–760KB
~18K SLoC