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()18fn 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()24fn main() { 25 close_stdout(); 26 println!("hello"); 27 println!("world"); 28 } 29 30 #[cfg(not(windows))] main()31fn main() {} 32