From 023dae1627680d28f8bee3f9346c9b8572e18b56 Mon Sep 17 00:00:00 2001 From: amircodota <25413470+amircodota@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:46:32 +0300 Subject: [PATCH] fix UD behavior on windows - causes a crash on rust 1.78 --- notify/src/windows.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/notify/src/windows.rs b/notify/src/windows.rs index 65c85147..1e2d2884 100644 --- a/notify/src/windows.rs +++ b/notify/src/windows.rs @@ -282,8 +282,8 @@ fn start_read(rd: &ReadData, event_handler: Arc>, handle // for our own purposes let req_buf = request.buffer.as_mut_ptr() as *mut c_void; - let request_p = Box::into_raw(request) as isize; - overlapped.hEvent = request_p; + let request_p = Box::into_raw(request); + overlapped.hEvent = request_p as isize; // This is using an asynchronous call with a completion routine for receiving notifications // An I/O completion port would probably be more performant @@ -304,7 +304,7 @@ fn start_read(rd: &ReadData, event_handler: Arc>, handle // over to `ReadDirectoryChangesW`. // So we can claim ownership back. let _overlapped_alloc = std::mem::ManuallyDrop::into_inner(overlapped); - let request: Box = mem::transmute(request_p); + let request: Box = Box::from_raw(request_p); ReleaseSemaphore(request.data.complete_sem, 1, ptr::null_mut()); } }