]> git.proxmox.com Git - rustc.git/blame - src/test/codegen-units/partitioning/extern-drop-glue.rs
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / codegen-units / partitioning / extern-drop-glue.rs
CommitLineData
a7813a04
XL
1// ignore-tidy-linelength
2
ba9703b0 3// We specify -C incremental here because we want to test the partitioning for
a7813a04 4// incremental compilation
74b04a01 5// We specify opt-level=0 because `drop_in_place` is `Internal` when optimizing
ba9703b0 6// compile-flags:-Zprint-mono-items=lazy -Cincremental=tmp/partitioning-tests/extern-drop-glue
74b04a01 7// compile-flags:-Zinline-in-all-cgus -Copt-level=0
a7813a04
XL
8
9#![allow(dead_code)]
74b04a01 10#![crate_type = "rlib"]
a7813a04
XL
11
12// aux-build:cgu_extern_drop_glue.rs
13extern crate cgu_extern_drop_glue;
14
1b1a35ee 15//~ MONO_ITEM fn std::intrinsics::drop_in_place::<cgu_extern_drop_glue::Struct> - shim(Some(cgu_extern_drop_glue::Struct)) @@ extern_drop_glue-fallback.cgu[External]
a7813a04
XL
16
17struct LocalStruct(cgu_extern_drop_glue::Struct);
18
1b1a35ee 19//~ MONO_ITEM fn user @@ extern_drop_glue[External]
74b04a01 20pub fn user() {
1b1a35ee 21 //~ MONO_ITEM fn std::intrinsics::drop_in_place::<LocalStruct> - shim(Some(LocalStruct)) @@ extern_drop_glue-fallback.cgu[External]
a7813a04
XL
22 let _ = LocalStruct(cgu_extern_drop_glue::Struct(0));
23}
24
abe05a73 25pub mod mod1 {
a7813a04
XL
26 use cgu_extern_drop_glue;
27
28 struct LocalStruct(cgu_extern_drop_glue::Struct);
29
1b1a35ee 30 //~ MONO_ITEM fn mod1::user @@ extern_drop_glue-mod1[External]
74b04a01 31 pub fn user() {
1b1a35ee 32 //~ MONO_ITEM fn std::intrinsics::drop_in_place::<mod1::LocalStruct> - shim(Some(mod1::LocalStruct)) @@ extern_drop_glue-fallback.cgu[External]
a7813a04
XL
33 let _ = LocalStruct(cgu_extern_drop_glue::Struct(0));
34 }
35}