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::(), 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::(), 4); +}