]>
Commit | Line | Data |
---|---|---|
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 | |
10 | extern crate shared_generics_aux; | |
11 | ||
94b46f34 | 12 | //~ MONO_ITEM fn shared_generics::foo[0] |
83c7162d XL |
13 | pub 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 | } |