2 // We specify -C incremental here because we want to test the partitioning for
3 // incremental compilation
4 // compile-flags:-Zprint-mono-items=lazy -Cincremental=tmp/partitioning-tests/inlining-from-extern-crate
5 // compile-flags:-Zinline-in-all-cgus
9 // aux-build:cgu_explicit_inlining.rs
10 extern crate cgu_explicit_inlining;
12 // This test makes sure that items inlined from external crates are privately
13 // instantiated in every codegen unit they are used in.
15 //~ MONO_ITEM fn cgu_explicit_inlining::inlined @@ inlining_from_extern_crate[Internal] inlining_from_extern_crate-mod1[Internal]
16 //~ MONO_ITEM fn cgu_explicit_inlining::always_inlined @@ inlining_from_extern_crate[Internal] inlining_from_extern_crate-mod2[Internal]
18 //~ MONO_ITEM fn user @@ inlining_from_extern_crate[External]
21 cgu_explicit_inlining::inlined();
22 cgu_explicit_inlining::always_inlined();
24 // does not generate a monomorphization in this crate
25 cgu_explicit_inlining::never_inlined();
29 use cgu_explicit_inlining;
31 //~ MONO_ITEM fn mod1::user @@ inlining_from_extern_crate-mod1[External]
34 cgu_explicit_inlining::inlined();
36 // does not generate a monomorphization in this crate
37 cgu_explicit_inlining::never_inlined();
42 use cgu_explicit_inlining;
44 //~ MONO_ITEM fn mod2::user @@ inlining_from_extern_crate-mod2[External]
47 cgu_explicit_inlining::always_inlined();
49 // does not generate a monomorphization in this crate
50 cgu_explicit_inlining::never_inlined();