| The maximum value of an enum was reached, so it cannot be automatically | |
| set in the next enum value. | |
| Erroneous code example: | |
| ```compile_fail,E0370 | |
| #[repr(i64)] | |
| enum Foo { | |
| X = 0x7fffffffffffffff, | |
| Y, // error: enum discriminant overflowed on value after | |
| // 9223372036854775807: i64; set explicitly via | |
| // Y = -9223372036854775808 if that is desired outcome | |
| } | |
| ``` | |
| To fix this, please set manually the next enum value or put the enum variant | |
| with the maximum value at the end of the enum. Examples: | |
| ``` | |
| #[repr(i64)] | |
| enum Foo { | |
| X = 0x7fffffffffffffff, | |
| Y = 0, // ok! | |
| } | |
| ``` | |
| Or: | |
| ``` | |
| #[repr(i64)] | |
| enum Foo { | |
| Y = 0, // ok! | |
| X = 0x7fffffffffffffff, | |
| } | |
| ``` |