]> git.lizzy.rs Git - rust.git/blob - src/test/codegen-units/partitioning/local-generic.rs
Rollup merge of #105064 - notriddle:notriddle/main-min-width, r=GuillaumeGomez
[rust.git] / src / test / codegen-units / partitioning / local-generic.rs
1 // We specify incremental here because we want to test the partitioning for
2 // incremental compilation
3 // incremental
4 // compile-flags:-Zprint-mono-items=eager
5
6 #![allow(dead_code)]
7 #![crate_type="lib"]
8
9 //~ MONO_ITEM fn generic::<u32> @@ local_generic.volatile[External]
10 //~ MONO_ITEM fn generic::<u64> @@ local_generic.volatile[External]
11 //~ MONO_ITEM fn generic::<char> @@ local_generic.volatile[External]
12 //~ MONO_ITEM fn generic::<&str> @@ local_generic.volatile[External]
13 pub fn generic<T>(x: T) -> T { x }
14
15 //~ MONO_ITEM fn user @@ local_generic[Internal]
16 fn user() {
17     let _ = generic(0u32);
18 }
19
20 mod mod1 {
21     pub use super::generic;
22
23     //~ MONO_ITEM fn mod1::user @@ local_generic-mod1[Internal]
24     fn user() {
25         let _ = generic(0u64);
26     }
27
28     mod mod1 {
29         use super::generic;
30
31         //~ MONO_ITEM fn mod1::mod1::user @@ local_generic-mod1-mod1[Internal]
32         fn user() {
33             let _ = generic('c');
34         }
35     }
36 }
37
38 mod mod2 {
39     use super::generic;
40
41     //~ MONO_ITEM fn mod2::user @@ local_generic-mod2[Internal]
42     fn user() {
43         let _ = generic("abc");
44     }
45 }