]> git.proxmox.com Git - rustc.git/blame - src/test/codegen-units/partitioning/shared-generics.rs
New upstream version 1.44.1+dfsg1
[rustc.git] / src / test / codegen-units / partitioning / shared-generics.rs
CommitLineData
83c7162d 1// ignore-tidy-linelength
e74abb32 2// no-prefer-dynamic
dfeec247
XL
3// NOTE: We always compile this test with -Copt-level=0 because higher opt-levels
4// prevent drop-glue from participating in share-generics.
ba9703b0 5// compile-flags:-Zprint-mono-items=eager -Zshare-generics=yes -Cincremental=tmp/partitioning-tests/shared-generics-exe -Copt-level=0
83c7162d
XL
6
7#![crate_type="rlib"]
8
9// aux-build:shared_generics_aux.rs
10extern crate shared_generics_aux;
11
94b46f34 12//~ MONO_ITEM fn shared_generics::foo[0]
83c7162d
XL
13pub fn foo() {
14
b7449926 15 //~ MONO_ITEM fn shared_generics_aux::generic_fn[0]<u16> @@ shared_generics_aux-in-shared_generics.volatile[External]
83c7162d
XL
16 let _ = shared_generics_aux::generic_fn(0u16, 1u16);
17
18 // This should not generate a monomorphization because it's already
19 // available in `shared_generics_aux`.
20 let _ = shared_generics_aux::generic_fn(0.0f32, 3.0f32);
83c7162d 21
dfeec247
XL
22 // The following line will drop an instance of `Foo`, generating a call to
23 // Foo's drop-glue function. However, share-generics should take care of
24 // reusing the drop-glue from the upstream crate, so we do not expect a
25 // mono item for the drop-glue
26 let _ = shared_generics_aux::Foo(1);
27}