]> git.proxmox.com Git - rustc.git/blob - src/test/incremental/lto.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / incremental / lto.rs
1 // no-prefer-dynamic
2 // revisions:rpass1 rpass2
3 // compile-flags: -C lto
4
5 mod x {
6 pub struct X {
7 x: u32, y: u32,
8 }
9
10 #[cfg(rpass1)]
11 fn make() -> X {
12 X { x: 22, y: 0 }
13 }
14
15 #[cfg(rpass2)]
16 fn make() -> X {
17 X { x: 11, y: 11 }
18 }
19
20 pub fn new() -> X {
21 make()
22 }
23
24 pub fn sum(x: &X) -> u32 {
25 x.x + x.y
26 }
27 }
28
29 mod y {
30 use x;
31
32 pub fn assert_sum() -> bool {
33 let x = x::new();
34 x::sum(&x) == 22
35 }
36 }
37
38 pub fn main() {
39 y::assert_sum();
40 }