summary refs log tree commit diff
path: root/tests/codegen/issues/issue-13018.rs
blob: 8040018b93106a3a443b709ca8491b6c6adeecac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//@ 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());
}