sign-bound-1.0.0 has been yanked.
sign-bound

Signed integer types for Rust that are bounded to be either positive or
negative. The API is analogous to the built-in NonZero types:
PositiveI8,NegativeI8PositiveI16,NegativeI16PositiveI32,NegativeI32PositiveI64,NegativeI64PositiveIsize,NegativeIsize
The types are all memory-layout optimized, so for example Option<PositiveI32>
and Option<NegativeI32> are both the same size as i32. Using additional
variants in an enum can also have some space benefits.
assert_eq!;
Note that due to the implementation details of this crate, the space optimization for any type will not occur if there are more than 128 additional enum variants.
Option<PositiveIsize> is particularly useful as a space-efficient optional
Vec index, since Rust's Vec structure is
limited to
isize::MAX entries.