summaryrefslogtreecommitdiffstats
path: root/src/test/ui/union/union-lint-dead-code.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/union/union-lint-dead-code.rs')
-rw-r--r--src/test/ui/union/union-lint-dead-code.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/union/union-lint-dead-code.rs b/src/test/ui/union/union-lint-dead-code.rs
new file mode 100644
index 000000000..65aaf0a1d
--- /dev/null
+++ b/src/test/ui/union/union-lint-dead-code.rs
@@ -0,0 +1,18 @@
+// revisions: mirunsafeck thirunsafeck
+// [thirunsafeck]compile-flags: -Z thir-unsafeck
+
+#![deny(dead_code)]
+
+union Foo {
+ x: usize,
+ b: bool, //~ ERROR: field `b` is never read
+ _unused: u16,
+}
+
+fn field_read(f: Foo) -> usize {
+ unsafe { f.x }
+}
+
+fn main() {
+ let _ = field_read(Foo { x: 2 });
+}