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)