std: Add init and uninit to mem. Replace direct intrinsic usage
This commit is contained in:
parent
49ac48db3f
commit
d433b80e02
19 changed files with 60 additions and 43 deletions
|
|
@ -288,8 +288,7 @@ extern "rust-intrinsic" {
|
|||
/// Create a value initialized to zero.
|
||||
///
|
||||
/// `init` is unsafe because it returns a zeroed-out datum,
|
||||
/// which is unsafe unless T is POD. We don't have a POD
|
||||
/// kind yet. (See #4074).
|
||||
/// which is unsafe unless T is Pod.
|
||||
pub fn init<T>() -> T;
|
||||
|
||||
/// Create an uninitialized value.
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ mod imp {
|
|||
use libc;
|
||||
use self::os::{PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER,
|
||||
pthread_mutex_t, pthread_cond_t};
|
||||
use unstable::intrinsics;
|
||||
use mem;
|
||||
|
||||
type pthread_mutexattr_t = libc::c_void;
|
||||
type pthread_condattr_t = libc::c_void;
|
||||
|
|
@ -208,8 +208,8 @@ mod imp {
|
|||
impl Mutex {
|
||||
pub unsafe fn new() -> Mutex {
|
||||
let mut m = Mutex {
|
||||
lock: intrinsics::init(),
|
||||
cond: intrinsics::init(),
|
||||
lock: mem::init(),
|
||||
cond: mem::init(),
|
||||
};
|
||||
|
||||
pthread_mutex_init(&mut m.lock, 0 as *libc::c_void);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue