Crate assert_impl[][src]

Macro for static assert that types implement a trait or not.

Example

Assuming you have the following definitions:

struct Nadeshiko;
struct Rin;
struct Chiaki;
struct Aoi;
struct Ena;

trait Yakuru {}
impl Yakuru for Nadeshiko {}
impl Yakuru for Chiaki {}
impl Yakuru for Aoi {}

This should build:

assert_impl!(Yakuru: Nadeshiko, Chiaki, Aoi);
assert_impl!(!Yakuru: Rin, Ena);

But these should fail to build:

This example deliberately fails to compile
assert_impl!(Yakuru: Rin);
This example deliberately fails to compile
assert_impl!(!Yakuru: Nadeshiko);

Macros

assert_impl