File tree Expand file tree Collapse file tree 4 files changed +31
-6
lines changed
src/test/run-make/pipelined Expand file tree Collapse file tree 4 files changed +31
-6
lines changed Original file line number Diff line number Diff line change 11-include ../../run-make-fulldeps/tools.mk
22
3- O =$(TMPDIR )
3+ O =$(TMPDIR ) /together
4+ S =$(TMPDIR ) /separate
45
5- all : $O/main
6- $O /main
6+ all : $O/main $S/main
7+ # Should produce identical output
8+ cmp $O /main $S /main
79
10+ # Build with combined --emit metadata,link
811$O/main : $O/libmiddle.rlib $O/libleaf.rlib
9- $(RUSTC ) main.rs --extern middle=$O /libmiddle.rlib -Ldependency=$O
12+ $(BARE_RUSTC ) --out-dir $O main.rs --extern middle=$O /libmiddle.rlib -Ldependency=$O
13+ $O /main
1014
1115$O/libmiddle.rlib : middle.rs $O/libleaf.rmeta
12- $(RUSTC ) --emit link middle.rs --extern leaf=$O /libleaf.rmeta
16+ $(BARE_RUSTC ) --out-dir $O --emit link middle.rs --extern leaf=$O /libleaf.rmeta
1317
1418$O/libleaf.rlib $O/libleaf.rmeta : leaf.rs
15- $(RUSTC ) --emit metadata,link leaf.rs
19+ $(BARE_RUSTC ) --out-dir $O --emit metadata,link leaf.rs
20+
21+ # Build with separate --emit metadata / --emit link
22+ $S/main : $S/libmiddle.rlib $S/libleaf.rlib
23+ $(BARE_RUSTC ) --out-dir $S main.rs --extern middle=$S /libmiddle.rlib -Ldependency=$S
24+ $S /main
25+
26+ $S/libmiddle.rlib : middle.rs $S/libleaf.rmeta
27+ $(BARE_RUSTC ) --out-dir $S --emit link middle.rs --extern leaf=$S /libleaf.rmeta
28+
29+ $S/libleaf.rlib : leaf.rs
30+ $(BARE_RUSTC ) --out-dir $S --emit link leaf.rs
31+
32+ $S/libleaf.rmeta : leaf.rs
33+ $(BARE_RUSTC ) --out-dir $S --emit metadata -Zmetadata-link leaf.rs
Original file line number Diff line number Diff line change @@ -20,6 +20,11 @@ pub fn simple(a: u32, b: u32) -> u32 {
2020 c
2121}
2222
23+ #[ inline]
24+ pub fn inlined ( a : u32 , b : u32 ) -> u32 {
25+ a * b
26+ }
27+
2328pub fn generic < D : std:: fmt:: Debug > ( d : D ) {
2429 println ! ( "generically printing {:?}" , d) ;
2530}
Original file line number Diff line number Diff line change @@ -6,4 +6,5 @@ fn main() {
66 println ! ( "middle::BAR {}" , middle:: BAR ) ;
77
88 assert_eq ! ( middle:: simple( 2 , 3 ) , 5 ) ;
9+ assert_eq ! ( middle:: inlined( 2 , 3 ) , 6 ) ;
910}
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ extern crate leaf;
55pub static BAR : & str = leaf:: FOO ;
66
77pub use leaf:: simple;
8+ pub use leaf:: inlined;
89
910pub fn do_a_thing ( ) {
1011 let s = leaf:: GenericStruct {
You can’t perform that action at this time.
0 commit comments