Skip to content

Commit 6e8639a

Browse files
committed
Remove uses of mem::uninitialized() from cloudabi
1 parent 1cdcea9 commit 6e8639a

File tree

5 files changed

+18
-14
lines changed

5 files changed

+18
-14
lines changed

src/libstd/sys/cloudabi/abi/cloudabi.rs

+1
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
116116
#![no_std]
117117
#![allow(non_camel_case_types)]
118+
#![allow(deprecated)] // FIXME: using `mem::uninitialized()`
118119

119120
include!("bitflags.rs");
120121

src/libstd/sys/cloudabi/mod.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#![allow(deprecated)] // mem::uninitialized
2-
31
use crate::io::ErrorKind;
42
use crate::mem;
53

src/libstd/sys/cloudabi/mutex.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,11 @@ impl ReentrantMutex {
104104
},
105105
..mem::zeroed()
106106
};
107-
let mut event: abi::event = mem::uninitialized();
108-
let mut nevents: usize = mem::uninitialized();
109-
let ret = abi::poll(&subscription, &mut event, 1, &mut nevents);
107+
let mut event = MaybeUninit::<abi::event>::uninit();
108+
let mut nevents = MaybeUninit::<usize>::uninit();
109+
let ret = abi::poll(&subscription, event.as_mut_ptr(), 1, nevents.as_mut_ptr());
110110
assert_eq!(ret, abi::errno::SUCCESS, "Failed to acquire mutex");
111+
let event = event.assume_init();
111112
assert_eq!(event.error, abi::errno::SUCCESS, "Failed to acquire mutex");
112113
}
113114
}

src/libstd/sys/cloudabi/rwlock.rs

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::cell::UnsafeCell;
22
use crate::mem;
3+
use crate::mem::MaybeUninit;
34
use crate::sync::atomic::{AtomicU32, Ordering};
45
use crate::sys::cloudabi::abi;
56

@@ -73,10 +74,11 @@ impl RWLock {
7374
},
7475
..mem::zeroed()
7576
};
76-
let mut event: abi::event = mem::uninitialized();
77-
let mut nevents: usize = mem::uninitialized();
78-
let ret = abi::poll(&subscription, &mut event, 1, &mut nevents);
77+
let mut event = MaybeUninit::<abi::event>::uninit();
78+
let mut nevents = MaybeUninit::<usize>::uninit();
79+
let ret = abi::poll(&subscription, event.as_mut_ptr(), 1, nevents.as_mut_ptr());
7980
assert_eq!(ret, abi::errno::SUCCESS, "Failed to acquire read lock");
81+
let event = event.assume_init();
8082
assert_eq!(
8183
event.error,
8284
abi::errno::SUCCESS,
@@ -182,10 +184,11 @@ impl RWLock {
182184
},
183185
..mem::zeroed()
184186
};
185-
let mut event: abi::event = mem::uninitialized();
186-
let mut nevents: usize = mem::uninitialized();
187-
let ret = abi::poll(&subscription, &mut event, 1, &mut nevents);
187+
let mut event = MaybeUninit::<abi::event>::uninit();
188+
let mut nevents = MaybeUninit::<usize>::uninit();
189+
let ret = abi::poll(&subscription, event.as_mut_ptr(), 1, nevents.as_mut_ptr());
188190
assert_eq!(ret, abi::errno::SUCCESS, "Failed to acquire write lock");
191+
let event = event.assume_init();
189192
assert_eq!(
190193
event.error,
191194
abi::errno::SUCCESS,

src/libstd/sys/cloudabi/thread.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,11 @@ impl Thread {
7272
},
7373
..mem::zeroed()
7474
};
75-
let mut event: abi::event = mem::uninitialized();
76-
let mut nevents: usize = mem::uninitialized();
77-
let ret = abi::poll(&subscription, &mut event, 1, &mut nevents);
75+
let mut event = mem::MaybeUninit::<abi::event>::uninit();
76+
let mut nevents = mem::MaybeUninit::<usize>::uninit();
77+
let ret = abi::poll(&subscription, event.as_mut_ptr(), 1, nevents.as_mut_ptr());
7878
assert_eq!(ret, abi::errno::SUCCESS);
79+
let event = event.assume_init();
7980
assert_eq!(event.error, abi::errno::SUCCESS);
8081
}
8182
}

0 commit comments

Comments
 (0)