macro_rules! assert_type_eq_all {
    ($x:ty, $($xs:ty),+ $(,)*) => { ... };
}Expand description
Asserts that all types in a list are equal to each other.
§Examples
Often times, type aliases are used to express usage semantics via naming. In
some cases, the underlying type may differ based on platform. However, other
types like c_float will always alias the same type.
use std::os::raw::c_float;
assert_type_eq_all!(c_float, f32);This macro can also be used to compare types that involve lifetimes! Just
use 'static in that case:
type Buf<'a> = &'a [u8];
assert_type_eq_all!(Buf<'static>, &'static [u8]);The following example fails to compile because String and str do not
refer to the same type:
ⓘ
assert_type_eq_all!(String, str);This should also work the other way around, regardless of Deref
implementations.
ⓘ
assert_type_eq_all!(str, String);