Macro for static assert that types implement a trait or not.
Note: this macro can only be used inside function body due to restriction of Rust.
Assuming you have the following definitions:
This should build:
But this should fail to build: