2个版本
0.1.3 | 2023年5月26日 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 | 2023年5月25日 |
1297 在 过程宏 中
每月38次下载
5KB
54 行
convert-chain
一个用于链式类型转换的小型crate。其中只有一个宏 convert_chian
。
假设有三个具有以下关系的结构。
struct A;
struct B;
struct C;
impl From<B> for A { ... }
impl From<C> for B { ... }
你可以使用这个宏直接转换一个表达式或创建一个转换的闭包。
-
直接转换
let c = C; let a = convert_chain!(c; B, A);
-
创建闭包
let c = C; let f = convert_chain!(B, A); let a = f(c);
上述两种方法等价于
let c = C;
let a = A::from(B::from(c));
lib.rs
:
convert-chain
一个用于链式类型转换的小型crate。其中只有一个宏 convert_chian
。
假设有三个具有以下关系的结构。
struct A;
struct B;
struct C;
impl From<B> for A { ... }
impl From<C> for B { ... }
你可以使用这个宏直接转换一个表达式或创建一个转换的闭包。
-
直接转换
let c = C; let a = convert_chain!(c; B, A);
-
创建闭包
let c = C; let f = convert_chain!(B, A); let a = f(c);
上述两种方法等价于
let c = C;
let a = A::from(B::from(c));
依赖项
~295–750KB
~18K SLoC