| ### What it does |
| Checks for `enum`s with no variants. |
| |
| As of this writing, the `never_type` is still a |
| nightly-only experimental API. Therefore, this lint is only triggered |
| if the `never_type` is enabled. |
| |
| ### Why is this bad? |
| If you want to introduce a type which |
| can't be instantiated, you should use `!` (the primitive type "never"), |
| or a wrapper around it, because `!` has more extensive |
| compiler support (type inference, etc...) and wrappers |
| around it are the conventional way to define an uninhabited type. |
| For further information visit [never type documentation](https://doc.rust-lang.org/std/primitive.never.html) |
| |
| |
| ### Example |
| ``` |
| enum Test {} |
| ``` |
| |
| Use instead: |
| ``` |
| #![feature(never_type)] |
| |
| struct Test(!); |
| ``` |