// skip-filecheck // compile-flags: -Z mir-opt-level=1 // Regression test for #72181, this ICE requires `-Z mir-opt-level=1` flags. use std::mem; #[derive(Copy, Clone)] enum Never {} union Foo { a: u64, b: Never } // EMIT_MIR issue_72181.foo.built.after.mir fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 } // EMIT_MIR issue_72181.bar.built.after.mir fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x } // EMIT_MIR issue_72181.main.built.after.mir fn main() { let _ = mem::size_of::(); let f = [Foo { a: 42 }, Foo { a: 10 }]; let _ = unsafe { f[0].a }; }