1 // run-pass
2 #![allow(dead_code)]
3 
4 #![feature(rustc_private)]
5 
6 extern crate libc;
7 
8 type DWORD = u32;
9 type HANDLE = *mut u8;
10 type BOOL = i32;
11 
12 #[cfg(windows)]
13 extern "system" {
SetStdHandle(nStdHandle: DWORD, nHandle: HANDLE) -> BOOL14     fn SetStdHandle(nStdHandle: DWORD, nHandle: HANDLE) -> BOOL;
15 }
16 
17 #[cfg(windows)]
close_stdout()18 fn close_stdout() {
19     const STD_OUTPUT_HANDLE: DWORD = -11i32 as DWORD;
20     unsafe { SetStdHandle(STD_OUTPUT_HANDLE, 0 as HANDLE); }
21 }
22 
23 #[cfg(windows)]
main()24 fn main() {
25     close_stdout();
26     println!("hello");
27     println!("world");
28 }
29 
30 #[cfg(not(windows))]
main()31 fn main() {}
32