Fix it
This commit is contained in:
parent
d464169beb
commit
d74c151b69
@ -481,6 +481,7 @@ pub mod intrinsics {
|
||||
pub fn needs_drop<T>() -> bool;
|
||||
pub fn bitreverse<T>(x: T) -> T;
|
||||
pub fn bswap<T>(x: T) -> T;
|
||||
pub fn write_bytes<T>(dst: *mut T, val: u8, count: usize);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -117,6 +117,12 @@ struct Unique<T: ?Sized> {
|
||||
|
||||
impl<T: ?Sized, U: ?Sized> CoerceUnsized<Unique<U>> for Unique<T> where T: Unsize<U> {}
|
||||
|
||||
unsafe fn zeroed<T>() -> T {
|
||||
let mut uninit = MaybeUninit { uninit: () };
|
||||
intrinsics::write_bytes(&mut uninit.value.value as *mut T, 0, 1);
|
||||
uninit.value.value
|
||||
}
|
||||
|
||||
fn take_f32(_f: f32) {}
|
||||
fn take_unique(_u: Unique<()>) {}
|
||||
|
||||
@ -194,10 +200,6 @@ fn main() {
|
||||
y: !,
|
||||
}
|
||||
|
||||
unsafe fn zeroed<T>() -> T {
|
||||
intrinsics::init::<T>()
|
||||
}
|
||||
|
||||
unsafe fn uninitialized<T>() -> T {
|
||||
MaybeUninit { uninit: () }.value.value
|
||||
}
|
||||
@ -330,7 +332,7 @@ extern "C" fn mutate_tls(_: *mut c_void) -> *mut c_void {
|
||||
#[cfg(not(jit))]
|
||||
fn test_tls() {
|
||||
unsafe {
|
||||
let mut attr: pthread_attr_t = intrinsics::init();
|
||||
let mut attr: pthread_attr_t = zeroed();
|
||||
let mut thread: pthread_t = 0;
|
||||
|
||||
assert_eq!(TLS, 42);
|
||||
|
Loading…
x
Reference in New Issue
Block a user