From 469032433d68841ad098f03aa2b28e81235b8be8 Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Fri, 30 Aug 2019 23:10:22 -0600 Subject: Replace most instances of mem::uninitialized with mem::MaybeUninit Only two instances remain: * For the deprecated sys::socket::CmsgSpace::new. We should probably just remove that method. * For sys::termios::Termios::default_uninit. This will require some more thought. Fixes #1096 --- src/sys/select.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/sys/select.rs') diff --git a/src/sys/select.rs b/src/sys/select.rs index 9d60ffaf..32569acc 100644 --- a/src/sys/select.rs +++ b/src/sys/select.rs @@ -9,16 +9,17 @@ use sys::time::{TimeSpec, TimeVal}; pub use libc::FD_SETSIZE; -// FIXME: Change to repr(transparent) once it's stable -#[repr(C)] +#[repr(transparent)] #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] pub struct FdSet(libc::fd_set); impl FdSet { pub fn new() -> FdSet { - let mut fdset = unsafe { mem::uninitialized() }; - unsafe { libc::FD_ZERO(&mut fdset) }; - FdSet(fdset) + let mut fdset = mem::MaybeUninit::uninit(); + unsafe { + libc::FD_ZERO(fdset.as_mut_ptr()); + FdSet(fdset.assume_init()) + } } pub fn insert(&mut self, fd: RawFd) { -- cgit v1.2.3