16 releases (7 breaking)
0.7.0 | Mar 16, 2024 |
---|---|
0.5.0 | Mar 16, 2024 |
0.3.0 | Oct 28, 2023 |
0.1.1 | May 25, 2022 |
0.0.6 | Nov 29, 2021 |
#1640 in Development tools
1,261 downloads per month
Used in 81 crates
(2 directly)
10KB
95 lines
Module :: implements
Macro to answer the question: does it implement a trait?
This solution has a limitation:
- In case entity is a function and trait is
Fn
/FnMut
/FnOnce
which current entity does not implement you will get compile-time error instead offalse
.
Basic use-case
use implements::*;
dbg!( implements!( 13_i32 => Copy ) );
// < implements!( 13_i32 => Copy ) : true
dbg!( implements!( Box::new( 13_i32 ) => Copy ) );
// < implements!( 13_i32 => Copy ) : false
To add to your project
cargo add implements
Try out from the repository
git clone https://github.com/Wandalen/wTools
cd wTools
cargo run --example implements_trivial