]>
git.proxmox.com Git - rustc.git/blob - src/test/codegen-units/partitioning/shared-generics.rs
1 // ignore-tidy-linelength
3 // NOTE: We always compile this test with -Copt-level=0 because higher opt-levels
4 // prevent drop-glue from participating in share-generics.
5 // compile-flags:-Zprint-mono-items=eager -Zshare-generics=yes -Cincremental=tmp/partitioning-tests/shared-generics-exe -Copt-level=0
9 // aux-build:shared_generics_aux.rs
10 extern crate shared_generics_aux
;
15 //~ MONO_ITEM fn shared_generics_aux::generic_fn::<u16> @@ shared_generics_aux-in-shared_generics.volatile[External]
16 let _
= shared_generics_aux
::generic_fn(0u16, 1u16);
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);
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);