2个版本
0.1.1 | 2020年6月20日 |
---|---|
0.1.0 | 2019年10月28日 |
#1400 在 过程宏
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 License 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则任何提交给您的工作并有意包含在内的贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何其他条款或条件。
依赖项
~2.5MB
~54K SLoC