about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorJanusz Marcinkiewicz <virrages@gmail.com>2019-11-23 03:41:12 +0100
committerJanusz Marcinkiewicz <virrages@gmail.com>2019-11-23 03:41:12 +0100
commit0e660d8a79062ba3c664822a72ae782cb8c38da7 (patch)
tree7f968a5aa46311dad16b9ae0acb968279720228f /src/test
parenta449535bbc7912c4adc1bbf2ab2738d0442f212c (diff)
downloadrust-0e660d8a79062ba3c664822a72ae782cb8c38da7.tar.gz
rust-0e660d8a79062ba3c664822a72ae782cb8c38da7.zip
Add error reporting on nested keywords inside 'enum' definition
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/enum/nested-enum.rs8
-rw-r--r--src/test/ui/enum/nested-enum.stderr26
2 files changed, 34 insertions, 0 deletions
diff --git a/src/test/ui/enum/nested-enum.rs b/src/test/ui/enum/nested-enum.rs
new file mode 100644
index 00000000000..80957b8a14c
--- /dev/null
+++ b/src/test/ui/enum/nested-enum.rs
@@ -0,0 +1,8 @@
+enum Foo {
+    enum Bar { Baz }, //~ ERROR `enum` definition cannot be nested inside `enum`
+    struct Quux { field: u8 }, //~ ERROR `struct` definition cannot be nested inside `enum`
+    union Wibble { field: u8 }, //~ ERROR `union` definition cannot be nested inside `enum`
+    Bat,
+}
+
+fn main() { }
diff --git a/src/test/ui/enum/nested-enum.stderr b/src/test/ui/enum/nested-enum.stderr
new file mode 100644
index 00000000000..7d6f57e88a8
--- /dev/null
+++ b/src/test/ui/enum/nested-enum.stderr
@@ -0,0 +1,26 @@
+error: `enum` definition cannot be nested inside `enum`
+  --> $DIR/nested-enum.rs:2:5
+   |
+LL |     enum Bar { Baz },
+   |     ^^^^------------
+   |     |
+   |     help: consider creating a new `enum` definition instead of nesting
+
+error: `struct` definition cannot be nested inside `enum`
+  --> $DIR/nested-enum.rs:3:5
+   |
+LL |     struct Quux { field: u8 },
+   |     ^^^^^^-------------------
+   |     |
+   |     help: consider creating a new `struct` definition instead of nesting
+
+error: `union` definition cannot be nested inside `enum`
+  --> $DIR/nested-enum.rs:4:5
+   |
+LL |     union Wibble { field: u8 },
+   |     ^^^^^---------------------
+   |     |
+   |     help: consider creating a new `union` definition instead of nesting
+
+error: aborting due to 3 previous errors
+