3 个版本

0.1.2 2022年9月17日
0.1.1 2022年9月16日
0.1.0 2022年9月16日

#1328 in 开发工具

45 每月下载次数

MIT/Apache

13KB
333 代码行

Eg: Default 用于虚拟数据。

github crates.io license

为什么是 Eg?

使用 Eg 提供示例值

use eg::Eg;

#[derive(Debug, PartialEq, Eg)]
struct Wizard {
	#[eg = "Harry Potter"]
	name: String,
	#[eg = "11"]
	age: usize,
	#[eg = "totally_random_spell"]
	fav_spell: Spell,
}

#[derive(Debug, PartialEq)]
enum Spell {
	Expelliarmus,
	WinguardiumLeviosa,
}

fn totally_random_spell() -> Spell {
	Spell::Expelliarmus
}

assert_eq!(
	Wizard {
		name: "Harry Potter".to_string(),
		age: 11,
		fav_spell: Spell::Expelliarmus
	},
	Wizard::eg()
);

Default 不适用、不可用或表达不够充分时

#[test]
fn my_database_test() {
	// database stuff ...
	db.insert(Wizard::eg());
	// more database stuff ...
}

为什么不使用全局 const?

在与 const 兼容的上下文中,这可能是可接受的方法!对于其他所有情况,还有 Eg 😉

贡献

这个包仍在学习走路;反馈、问题和 PR 都受欢迎!(◕‿◕)

依赖

~1.5MB
~35K SLoC