diff options
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0084.md')
-rw-r--r-- | compiler/rustc_error_codes/src/error_codes/E0084.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0084.md b/compiler/rustc_error_codes/src/error_codes/E0084.md new file mode 100644 index 000000000..38ce9b43d --- /dev/null +++ b/compiler/rustc_error_codes/src/error_codes/E0084.md @@ -0,0 +1,27 @@ +An unsupported representation was attempted on a zero-variant enum. + +Erroneous code example: + +```compile_fail,E0084 +#[repr(i32)] +enum NightsWatch {} // error: unsupported representation for zero-variant enum +``` + +It is impossible to define an integer type to be used to represent zero-variant +enum values because there are no zero-variant enum values. There is no way to +construct an instance of the following type using only safe code. So you have +two solutions. Either you add variants in your enum: + +``` +#[repr(i32)] +enum NightsWatch { + JonSnow, + Commander, +} +``` + +or you remove the integer representation of your enum: + +``` +enum NightsWatch {} +``` |