#clone #collection #fallible #try-clone

try_clone_derive

一个crate,它为 fallible_allocation crate 的 TryClone 特性添加 derive TryClone 宏

2个版本

0.1.1 2020年6月20日
0.1.0 2019年10月28日

#1400过程宏

MIT/Apache

8KB
81

Try Clone Derive.rs

一个crate,它为 fallible_allocation crate 的 TryClone 特性添加 derive TryClone 宏

限制

这是我第一个过程宏,代码非常简单,只能在最简单的用例上工作,不包括泛型类型等。但欢迎贡献!

入门

try clone derive 可在 crates.io 上找到。建议在那里查找最新发布的版本,以及文档的最新构建链接。

在最后更新此 README 文件时,最新发布的版本可以这样使用

将以下依赖项添加到您的 Cargo manifest...

[dependencies]
try_clone_derive = "0.1.1"

...并查看 文档 了解如何使用它。

示例

use fallible_collections::TryClone;

use try_clone_derive::TryClone;

#[derive(Debug, TryClone)]
pub struct MyStruct{
    a: u32,
    b: Vec<u8>,
    c: Arc<u8>,
}

fn main() {
	// this crate an Ordinary box but return an error on allocation failure
	let my_struct = MyStruct {
		a: 42,
		b: vec![42; 42],
		c: Arc::new(42),
	};
	assert_eq!(my_struct.try_clone().unwrap(), my_struct);
}

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确表示,否则任何提交给您的工作并有意包含在内的贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何其他条款或条件。

依赖项

~2.5MB
~54K SLoC