nonzero: Statically Checked Non-Zero Integers

The crate provides the nonzero! macro that converts an integer to NonZero{Usize,Isize,...} types. The conversion is done statically without extra runtime cost, and rejects zeros in compile-time.

[ docs.rs | crates.io ]

Example

```rust use nonzero::nonzero as nz; use std::num::{NonZeroI32, NonZeroUsize};

let safeseven: NonZeroUsize = nz!(7usize); let negativeone: NonZeroI32 = nz!(-1i32); ```

License

MIT license. See license file.