about summary refs log tree commit diff
path: root/tests/ui/cfg/conditional-compilation-struct-11085.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/cfg/conditional-compilation-struct-11085.rs')
-rw-r--r--tests/ui/cfg/conditional-compilation-struct-11085.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/ui/cfg/conditional-compilation-struct-11085.rs b/tests/ui/cfg/conditional-compilation-struct-11085.rs
new file mode 100644
index 00000000000..cd6dded54d3
--- /dev/null
+++ b/tests/ui/cfg/conditional-compilation-struct-11085.rs
@@ -0,0 +1,46 @@
+//! Regression test for https://github.com/rust-lang/rust/issues/11085
+
+//@ run-pass
+
+#![allow(dead_code)]
+
+struct Foo {
+    #[cfg(false)]
+    bar: baz,
+    foo: isize,
+}
+
+struct Foo2 {
+    #[cfg(all())]
+    foo: isize,
+}
+
+enum Bar1 {
+    Bar1_1,
+    #[cfg(false)]
+    Bar1_2(NotAType),
+}
+
+enum Bar2 {
+    #[cfg(false)]
+    Bar2_1(NotAType),
+}
+
+enum Bar3 {
+    Bar3_1 {
+        #[cfg(false)]
+        foo: isize,
+        bar: isize,
+    }
+}
+
+pub fn main() {
+    let _f = Foo { foo: 3 };
+    let _f = Foo2 { foo: 3 };
+
+    match Bar1::Bar1_1 {
+        Bar1::Bar1_1 => {}
+    }
+
+    let _f = Bar3::Bar3_1 { bar: 3 };
+}