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
13
14
error[E0308]: mismatched types
  --> src/unit_tests/compilation/sponge_creation.rs:81:9
   |
80 |       let _extra_sponge: ExtraSponge<BasicSponge, iopat![Absorb<U2>, Absorb<U3>, Squeeze<U3>]> =
   |                          --------------------------------------------------------------------- expected due to this
81 | /         ExtraSponge::<BasicSponge, iopat![Absorb<U2>, Absorb<U3>, Squeeze<U3>]>::start(
82 | |             None,
83 | |             basic_sponge,
84 | |             &mut start_acc,
85 | |         );
   | |_________^ expected struct `UTerm`, found struct `UInt`
   |
   = note: expected struct `ExtraSponge<BasicSponge, Cons<Absorb<UInt<UInt<UTerm, B1>, B0>>, Cons<Absorb<UInt<..., ...>>, ...>>>`
              found struct `ExtraSponge<_, Cons<extra_safe::traits::Absorb<UInt<UInt<UInt<UTerm, B1>, B0>, B1>>, Cons<extra_safe::traits::Squeeze<UInt<UInt<UTerm, B1>, B1>>, Nil>>>`