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(!);
```
|