summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/src/docs/empty_enum.txt
blob: f7b41c41ee5a1c146475336cd786ef70038120ae (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
### 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(!);
```