Macro static_assertions::assert_impl_all
source · [−]macro_rules! assert_impl_all {
($type:ty: $($trait:path),+ $(,)?) => { ... };
}Expand description
Asserts that the type implements all of the given traits.
See assert_not_impl_all! for achieving the opposite effect.
Examples
This can be used to ensure types implement auto traits such as Send and
Sync, as well as traits with blanket impls.
assert_impl_all!(u32: Copy, Send);
assert_impl_all!(&str: Into<String>);The following example fails to compile because raw pointers do not implement
Send since they cannot be moved between threads safely:
ⓘ
assert_impl_all!(*const u8: Send);