optional 0.0.2

This crate supplies a number of Option-like primitive types
Documentation

Optional

This package aims to offer some Option<_>-like values that allow a space-optimized representation.

As of now there is a type OptionBool. It works very much like an Option<bool> (and indeed mostly copies its interface). There are only a few additional methods where Option<bool> would recieve or return another Option<bool>, a _bool prefix is used to receive/return OptionBool instead.

Then there is a struct Optioned<T> that is similar to Option but needs no additional storage, declaring a None value instead. Their are impls For i8..64, u8..64, isize, usize, f32 and f64, and it's easy enough to Implement it for your own type (have a look at the Noned trait). The None value for the int types is their MIN, for the unsigned types is their MAX and for floats is NAN.

This crate is experimental, has no docs and almost no tests. Honestly, I mainly publish it now to embarrass myself.

License

This project is under MIT license (see LICENSE)