about summary refs log tree commit diff
path: root/library/std/src/os/windows/io/tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/std/src/os/windows/io/tests.rs')
-rw-r--r--library/std/src/os/windows/io/tests.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/library/std/src/os/windows/io/tests.rs b/library/std/src/os/windows/io/tests.rs
new file mode 100644
index 00000000000..54175473707
--- /dev/null
+++ b/library/std/src/os/windows/io/tests.rs
@@ -0,0 +1,22 @@
+#[test]
+fn test_niche_optimizations_socket() {
+    use crate::mem::size_of;
+    use crate::os::windows::io::{
+        BorrowedSocket, FromRawSocket, IntoRawSocket, OwnedSocket, OwnedSocket, RawSocket,
+    };
+
+    assert_eq!(size_of::<Option<OwnedSocket>>(), size_of::<RawSocket>());
+    assert_eq!(size_of::<Option<BorrowedSocket<'static>>>(), size_of::<RawSocket>(),);
+    unsafe {
+        assert_eq!(OwnedSocket::from_raw_socket(RawSocket::MIN).into_raw_socket(), RawSocket::MIN);
+        assert_eq!(OwnedSocket::from_raw_socket(RawSocket::MAX).into_raw_socket(), RawSocket::MAX);
+        assert_eq!(
+            Some(OwnedSocket::from_raw_socket(RawSocket::MIN)).unwrap().into_raw_socket(),
+            RawSocket::MIN
+        );
+        assert_eq!(
+            Some(OwnedSocket::from_raw_socket(RawSocket::MAX)).unwrap().into_raw_socket(),
+            RawSocket::MAX
+        );
+    }
+}