]> git.lizzy.rs Git - rust.git/blob - library/std/src/os/windows/io/tests.rs
Auto merge of #97057 - bjorn3:sync_cg_clif-2022-05-15, r=bjorn3
[rust.git] / library / std / src / os / windows / io / tests.rs
1 #[test]
2 fn test_niche_optimizations_socket() {
3     use crate::mem::size_of;
4     use crate::os::windows::io::{
5         BorrowedSocket, FromRawSocket, IntoRawSocket, OwnedSocket, RawSocket,
6     };
7
8     assert_eq!(size_of::<Option<OwnedSocket>>(), size_of::<RawSocket>());
9     assert_eq!(size_of::<Option<BorrowedSocket<'static>>>(), size_of::<RawSocket>(),);
10     unsafe {
11         #[cfg(target_pointer_width = "32")]
12         let (min, max) = (i32::MIN as u32, i32::MAX as u32);
13         #[cfg(target_pointer_width = "64")]
14         let (min, max) = (i64::MIN as u64, i64::MAX as u64);
15
16         assert_eq!(OwnedSocket::from_raw_socket(min).into_raw_socket(), min);
17         assert_eq!(OwnedSocket::from_raw_socket(max).into_raw_socket(), max);
18         assert_eq!(Some(OwnedSocket::from_raw_socket(min)).unwrap().into_raw_socket(), min);
19         assert_eq!(Some(OwnedSocket::from_raw_socket(max)).unwrap().into_raw_socket(), max);
20     }
21 }