19 releases (10 breaking)
0.10.0 | Oct 30, 2024 |
---|---|
0.8.0 | May 11, 2024 |
0.7.0 | Mar 16, 2024 |
0.3.0 | Oct 28, 2023 |
0.0.6 | Nov 29, 2021 |
#2589 in Development tools
413 downloads per month
Used in 77 crates
(2 directly)
9KB
99 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