summaryrefslogtreecommitdiffstats
path: root/third_party/rust/void/README.md
blob: 4f86c21cca5d7780754313aaa9c424231e447a34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Void

> The uninhabited void type for use in statically impossible cases.

## [Documentation](https://crates.fyi/crates/void/1.0.1)

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:

```toml
[dependencies]
void = "1"
```

Then, use `Void` in your crate:

```rust
extern crate void;
use void::Void;
```

## Author

[Jonathan Reem](https://medium.com/@jreem) is the primary author and maintainer of void.

## License

MIT