disjoint_impls 1.4.0

Support for mutually disjoint impls
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use disjoint_impls::disjoint_impls;

trait Dispatch {
    type Group;
}

struct FourArray;
impl Dispatch for FourArray {
    type Group = [u8; 4];
}

disjoint_impls! {
    trait Kita {}

    impl<T: Dispatch<Group = [u8; 2 + 2]>> Kita for T {}
    impl<T: Dispatch<Group = [u8; 4]>> Kita for T {}
}