1 // run-pass 2 // only-windows 3 // GetLastError doesn't seem to work with stack switching 4 5 #[cfg(windows)] 6 mod kernel32 { 7 extern "system" { SetLastError(err: usize)8 pub fn SetLastError(err: usize); GetLastError() -> usize9 pub fn GetLastError() -> usize; 10 } 11 } 12 13 #[cfg(windows)] main()14pub fn main() { 15 unsafe { 16 let expected = 1234; 17 kernel32::SetLastError(expected); 18 let actual = kernel32::GetLastError(); 19 println!("actual = {}", actual); 20 assert_eq!(expected, actual); 21 } 22 } 23