E0084 - Error codes index
Description: Book listing all Rust error codes

# Error code E0084

An unsupported representation was attempted on a zero-variant enum.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    #[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:

    #![allow(unused)]
    fn main() {
    #[repr(i32)]
    enum NightsWatch {
        JonSnow,
        Commander,
    }
    }

or you remove the integer representation of your enum:

    #![allow(unused)]
    fn main() {
    enum NightsWatch {}
    }