[−][src]Crate compile_type_eq
This crate help you check type equality at compile time.
Usage:
use compile_type_eq::*; assert_types_eq::<i32, i32>(); assert_types_not_eq::<i32, u32, _>();
ⓘ
use compile_type_eq::*; assert_types_eq::<i32, u32>(); assert_types_not_eq::<i32, i32, _>();
You can use a trait for checking of equality instead:
use compile_type_eq::CompileEq; fn do_some_when_not_eq<T, U, BecauseTypesMustBeNotEq>(t: T, u: U) -> String where T: CompileEq<U, BecauseTypesMustBeNotEq> { "Some".to_string() } do_some_when_not_eq(1, "a");
ⓘ
use compile_type_eq::CompileEq; fn do_some_when_not_eq<T, U, BecauseTypesMustBeNotEq>(t: T, u: U) -> String where T: CompileEq<U, BecauseTypesMustBeNotEq> { "Some".to_string() } do_some_when_not_eq("a", "b");
Traits
CompileEq | Trait for compile-time equality checking |
Functions
assert_types_eq | Checks that the types are eq. |
assert_types_not_eq | Checks that the types are not eq. |