| //@ compile-flags: -Copt-level=3 | |
| // A drop([...].clone()) sequence on an Rc should be a no-op | |
| // In particular, no call to __rust_dealloc should be emitted | |
| // | |
| // We use a cdylib since it's a leaf unit for Rust purposes, so doesn't codegen -Zshare-generics | |
| // code. | |
| #![crate_type = "cdylib"] | |
| use std::rc::Rc; | |
| pub fn foo(t: &Rc<Vec<usize>>) { | |
| // CHECK-NOT: __rust_dealloc | |
| drop(t.clone()); | |
| } |