/rust-void

The empty type Void.

Primary LanguageRustApache License 2.0Apache-2.0

Void

The uninhabited void type for use in statically impossible cases.

The uninhabited type, enum Void { } is useful in dealing with cases you know to be impossible. For instance, if you are implementing a trait which allows for error checking, but your case always succeeds, you can mark the error case or type as Void, signaling to the compiler it can never happen.

This crate also comes packed with a few traits offering extension methods to Result<T, Void> and Result<Void, T>.

Usage

Use the crates.io repository; add this to your Cargo.toml along with the rest of your dependencies:

[dependencies]
void = "1"

Then, use Void in your crate:

extern crate void;
use void::Void;

Author

Jonathan Reem is the primary author and maintainer of void.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.