5 个版本
0.1.0 | 2022年1月10日 |
---|---|
0.0.8 | 2021年12月7日 |
0.0.7 | 2021年11月29日 |
0.0.6 | 2021年11月29日 |
0.0.4 | 2021年11月29日 |
#2006 在 算法
2,185 每月下载量
15KB
98 行
module::instance_of
宏:回答它是否实现了特质的提问?
该解决方案存在局限性
- 如果实体是一个函数并且 trait 是
Fn
/FnMut
/FnOnce
且当前实体未实现,你将得到编译时错误而不是false
。
这是 module::implements 的别名。
示例
use instance_of::*;
dbg!( instance_of!( 13_i32 => Copy ) );
// < instance_of!( 13_i32 => Copy ) : true
dbg!( instance_of!( Box::new( 13_i32 ) => Copy ) );
// < instance_of!( 13_i32 => Copy ) : false
添加到您的项目中
cargo add implements
从仓库中试用
git clone https://github.com/Wandalen/wTools
cd wTools
cd sample/rust/implements_trivial
cargo run
lib.rs
:
宏:回答它是否实现了特质的提问?
该解决方案存在局限性
- 如果实体是一个函数并且 trait 是
Fn
/FnMut
/FnOnce
且当前实体未实现,你将得到编译时错误而不是false
。