//@ test-mir-pass: RemoveZsts union Foo { x: (), y: u64, } // EMIT_MIR remove_zsts.get_union.RemoveZsts.diff fn get_union() -> Foo { // CHECK-LABEL: fn get_union // CHECK: _0 = Foo { x: const () }; Foo { x: () } } const MYSTERY: usize = 280_usize.isqrt() - 260_usize.isqrt(); // EMIT_MIR remove_zsts.remove_generic_array.RemoveZsts.diff fn remove_generic_array(x: T) { // CHECK-LABEL: fn remove_generic_array // CHECK: debug a => const ZeroSized: [T; 0]; // CHECK: debug b => const ZeroSized: [T; 0]; // CHECK-NOT: = []; // CHECK-NOT: ; 1] let a = [x; 0]; let b = [x; MYSTERY]; } fn main() { get_union(); }