summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_error_codes/src/error_codes/E0731.md
blob: 096c053fe8359f12c6a6355f477cb1efb0183946 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
An enum with the representation hint `repr(transparent)` had zero or more than
one variants.

Erroneous code example:

```compile_fail,E0731
#[repr(transparent)]
enum Status { // error: transparent enum needs exactly one variant, but has 2
    Errno(u32),
    Ok,
}
```

Because transparent enums are represented exactly like one of their variants at
run time, said variant must be uniquely determined. If there is no variant, or
if there are multiple variants, it is not clear how the enum should be
represented.