summaryrefslogtreecommitdiffstats
path: root/tests/ui/error-codes/E0081.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/error-codes/E0081.rs')
-rw-r--r--tests/ui/error-codes/E0081.rs54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/ui/error-codes/E0081.rs b/tests/ui/error-codes/E0081.rs
new file mode 100644
index 000000000..f53fda864
--- /dev/null
+++ b/tests/ui/error-codes/E0081.rs
@@ -0,0 +1,54 @@
+enum Enum {
+ //~^ ERROR discriminant value `3` assigned more than once
+ P = 3,
+ //~^ NOTE `3` assigned here
+ X = 3,
+ //~^ NOTE `3` assigned here
+ Y = 5
+}
+
+#[repr(u8)]
+enum EnumOverflowRepr {
+ //~^ ERROR discriminant value `1` assigned more than once
+ P = 257,
+ //~^ NOTE `1` (overflowed from `257`) assigned here
+ X = 513,
+ //~^ NOTE `1` (overflowed from `513`) assigned here
+}
+
+#[repr(i8)]
+enum NegDisEnum {
+ //~^ ERROR discriminant value `-1` assigned more than once
+ First = -1,
+ //~^ NOTE `-1` assigned here
+ Second = -2,
+ //~^ NOTE discriminant for `Last` incremented from this startpoint (`Second` + 1 variant later => `Last` = -1)
+ Last,
+ //~^ NOTE `-1` assigned here
+}
+
+enum MultipleDuplicates {
+ //~^ ERROR discriminant value `0` assigned more than once
+ //~^^ ERROR discriminant value `-2` assigned more than once
+ V0,
+ //~^ NOTE `0` assigned here
+ V1 = 0,
+ //~^ NOTE `0` assigned here
+ V2,
+ V3,
+ V4 = 0,
+ //~^ NOTE `0` assigned here
+ V5 = -2,
+ //~^ NOTE discriminant for `V7` incremented from this startpoint (`V5` + 2 variants later => `V7` = 0)
+ //~^^ NOTE `-2` assigned here
+ V6,
+ V7,
+ //~^ NOTE `0` assigned here
+ V8 = -3,
+ //~^ NOTE discriminant for `V9` incremented from this startpoint (`V8` + 1 variant later => `V9` = -2)
+ V9,
+ //~^ NOTE `-2` assigned here
+}
+
+fn main() {
+}