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[E0277]: the trait bound `UTerm: PrivateSub<UInt<UTerm, B1>>` is not satisfied
 --> src/unit_tests/compilation/consume.rs:9:9
  |
9 |         Use<iopat![Absorb<U3>, Squeeze<U1>, Absorb<U1>], Absorb<U6>>,
  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `PrivateSub<UInt<UTerm, B1>>` is not implemented for `UTerm`
  |
  = help: the following other types implement trait `PrivateSub<Rhs>`:
            <UInt<Ul, B0> as PrivateSub<UInt<Ur, B0>>>
            <UInt<Ul, B0> as PrivateSub<UInt<Ur, B1>>>
            <UInt<Ul, B1> as PrivateSub<UInt<Ur, B0>>>
            <UInt<Ul, B1> as PrivateSub<UInt<Ur, B1>>>
  = note: required for `UInt<UTerm, B1>` to implement `PrivateSub<UInt<UInt<UTerm, B1>, B1>>`
  = note: required for `UInt<UInt<UTerm, B1>, B1>` to implement `Sub<UInt<UInt<UInt<UTerm, B1>, B1>, B0>>`
  = note: required for `Cons<Absorb<UInt<UInt<UTerm, B1>, B1>>, Cons<Squeeze<UInt<UTerm, B1>>, Cons<Absorb<UInt<UTerm, B1>>, Nil>>>` to implement `Consume<extra_safe::traits::Absorb<UInt<UInt<UInt<UTerm, B1>, B1>, B0>>>`