extra-safe 0.1.1

A trait hierarchy to help make the SAFE API return errors at compile time.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use extra_safe::iopat;
use extra_safe::traits::{Absorb, Squeeze, Use};
use typenum::assert_type_eq;
use typenum::{U1, U3, U6};

fn main() {
    // Running out of Use allowance!
    assert_type_eq!(
        Use<iopat![Absorb<U3>, Squeeze<U1>, Absorb<U1>], Absorb<U6>>,
        iopat![Squeeze<U1>, Absorb<U1>]
    );
}