5 releases
0.1.4 | May 8, 2022 |
---|---|
0.1.3 | May 8, 2022 |
0.1.2 | May 8, 2022 |
0.1.1 | May 8, 2022 |
0.1.0 | May 8, 2022 |
#2412 in Rust patterns
24 downloads per month
7KB
58 lines
is_trait
This crate adds a macro is_trait::is_trait!
that returns a bool of whether or not a type implements a specific trait.
See crate level documentation
lib.rs
:
This crate adds a is_trait!
macro for getting a runtime value for if a type implements a trait
This can be useful for test, where you can have a test fail instead of getting a compile error
Example:
use is_trait::is_trait;
struct Thing;
struct OtherThing;
trait SomeTrait {}
impl SomeTrait for Thing {}
assert!(is_trait!(Thing, SomeTrait));
assert!(is_trait!(OtherThing, SomeTrait)); // FAILS