about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Kröning <mkroening@posteo.net>2022-11-29 11:26:40 +0100
committerMartin Kröning <mkroening@posteo.net>2022-11-29 12:25:35 +0100
commitc8f3203c46c4b95a9eaff3ff8bb99982b682db0f (patch)
treec31c164317746ea38d30c8b2112b1a1ef9b12ee0
parent2585bcea0bc2a9c42a4be2c1eba5c61137f2b167 (diff)
downloadrust-c8f3203c46c4b95a9eaff3ff8bb99982b682db0f.tar.gz
rust-c8f3203c46c4b95a9eaff3ff8bb99982b682db0f.zip
hermit: Fix fuzzy_provenance_casts
-rw-r--r--library/std/src/sys/hermit/thread.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/library/std/src/sys/hermit/thread.rs b/library/std/src/sys/hermit/thread.rs
index e53a1fea6a0..8f65544a9e8 100644
--- a/library/std/src/sys/hermit/thread.rs
+++ b/library/std/src/sys/hermit/thread.rs
@@ -5,6 +5,7 @@ use crate::ffi::CStr;
 use crate::io;
 use crate::mem;
 use crate::num::NonZeroUsize;
+use crate::ptr;
 use crate::sys::hermit::abi;
 use crate::sys::hermit::thread_local_dtor::run_dtors;
 use crate::time::Duration;
@@ -47,7 +48,7 @@ impl Thread {
         extern "C" fn thread_start(main: usize) {
             unsafe {
                 // Finally, let's run some code.
-                Box::from_raw(main as *mut Box<dyn FnOnce()>)();
+                Box::from_raw(ptr::from_exposed_addr::<Box<dyn FnOnce()>>(main).cast_mut())();
 
                 // run all destructors
                 run_dtors();