about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--library/std/src/os/unix/io/fd.rs4
-rw-r--r--library/std/src/os/unix/io/fd/tests.rs11
-rw-r--r--library/std/src/os/wasi/io/fd.rs4
-rw-r--r--library/std/src/os/wasi/io/fd/tests.rs11
4 files changed, 30 insertions, 0 deletions
diff --git a/library/std/src/os/unix/io/fd.rs b/library/std/src/os/unix/io/fd.rs
index 5a8b30c77c0..6bb1fa15c17 100644
--- a/library/std/src/os/unix/io/fd.rs
+++ b/library/std/src/os/unix/io/fd.rs
@@ -2,6 +2,10 @@
 
 #![unstable(feature = "io_safety", issue = "87074")]
 
+// Tests for this module
+#[cfg(test)]
+mod tests;
+
 use super::raw::{AsRawFd, FromRawFd, IntoRawFd, RawFd};
 use crate::fmt;
 use crate::fs;
diff --git a/library/std/src/os/unix/io/fd/tests.rs b/library/std/src/os/unix/io/fd/tests.rs
new file mode 100644
index 00000000000..84d2a7a1a91
--- /dev/null
+++ b/library/std/src/os/unix/io/fd/tests.rs
@@ -0,0 +1,11 @@
+use crate::mem::size_of;
+use crate::os::unix::io::RawFd;
+
+#[test]
+fn test_raw_fd_layout() {
+    // `OwnedFd` and `BorrowedFd` use `rustc_layout_scalar_valid_range_start`
+    // and `rustc_layout_scalar_valid_range_end`, with values that depend on
+    // the bit width of `RawFd`. If this ever changes, those values will need
+    // to be updated.
+    assert_eq!(size_of::<RawFd>(), 4);
+}
diff --git a/library/std/src/os/wasi/io/fd.rs b/library/std/src/os/wasi/io/fd.rs
index 494903d941c..f9cacc841cd 100644
--- a/library/std/src/os/wasi/io/fd.rs
+++ b/library/std/src/os/wasi/io/fd.rs
@@ -2,6 +2,10 @@
 
 #![unstable(feature = "wasi_ext", issue = "71213")]
 
+// Tests for this module
+#[cfg(test)]
+mod tests;
+
 use super::raw::{AsRawFd, FromRawFd, IntoRawFd, RawFd};
 use crate::fmt;
 use crate::fs;
diff --git a/library/std/src/os/wasi/io/fd/tests.rs b/library/std/src/os/wasi/io/fd/tests.rs
new file mode 100644
index 00000000000..b276b7bafed
--- /dev/null
+++ b/library/std/src/os/wasi/io/fd/tests.rs
@@ -0,0 +1,11 @@
+use std::mem::size_of;
+use std::os::wasi::io::RawFd;
+
+#[test]
+fn test_raw_fd_layout() {
+    /// `OwnedFd` and `BorrowedFd` use `rustc_layout_scalar_valid_range_start`
+    /// and `rustc_layout_scalar_valid_range_end`, with values that depend on
+    /// the bit width of `RawFd`. If this ever changes, those values will need
+    /// to be updated.
+    assert_eq!(size_of::<RawFd>(), 4);
+}