//@ test-mir-pass: InstSimplify-after-simplifycfg // EMIT_MIR_FOR_EACH_PANIC_STRATEGY // EMIT_MIR combine_clone_of_primitives.{impl#0}-clone.InstSimplify-after-simplifycfg.diff #[derive(Clone)] struct MyThing { v: T, i: u64, a: [f32; 3], } // CHECK-LABEL: ::clone( // CHECK: ::clone( // CHECK-NOT: ::clone( // CHECK-NOT: <[f32; 3] as Clone>::clone( fn main() { let x = MyThing:: { v: 2, i: 3, a: [0.0; 3] }; let y = x.clone(); assert_eq!(y.v, 2); assert_eq!(y.i, 3); assert_eq!(y.a, [0.0; 3]); }