]> git.lizzy.rs Git - rust.git/blobdiff - src/tools/miri/src/shims/tls.rs
make eval_libc functions ICE on any problem
[rust.git] / src / tools / miri / src / shims / tls.rs
index fe278ff717f0cc17c2c98c7e424655aed3b66bd0..7768772338a777b73d709b1dbd68985435ee1643 100644 (file)
@@ -208,7 +208,7 @@ fn delete_all_thread_tls(&mut self, thread_id: ThreadId) {
 }
 
 impl VisitTags for TlsData<'_> {
-    fn visit_tags(&self, visit: &mut dyn FnMut(SbTag)) {
+    fn visit_tags(&self, visit: &mut dyn FnMut(BorTag)) {
         let TlsData { keys, macos_thread_dtors, next_key: _ } = self;
 
         for scalar in keys.values().flat_map(|v| v.data.values()) {
@@ -303,12 +303,12 @@ fn schedule_windows_tls_dtors(&mut self) -> InterpResult<'tcx> {
             return Ok(());
         }
         let thread_callback =
-            this.eval_windows("thread_local_key", "p_thread_callback")?.to_pointer(this)?;
+            this.eval_windows("thread_local_key", "p_thread_callback").to_pointer(this)?;
         let thread_callback = this.get_ptr_fn(thread_callback)?.as_instance()?;
 
         // FIXME: Technically, the reason should be `DLL_PROCESS_DETACH` when the main thread exits
         // but std treats both the same.
-        let reason = this.eval_windows("c", "DLL_THREAD_DETACH")?;
+        let reason = this.eval_windows("c", "DLL_THREAD_DETACH");
 
         // The signature of this function is `unsafe extern "system" fn(h: c::LPVOID, dwReason: c::DWORD, pv: c::LPVOID)`.
         // FIXME: `h` should be a handle to the current module and what `pv` should be is unknown