about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--library/std/src/sync/mpsc/tests.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/library/std/src/sync/mpsc/tests.rs b/library/std/src/sync/mpsc/tests.rs
index 82c52eb4fef..1e52a4a705c 100644
--- a/library/std/src/sync/mpsc/tests.rs
+++ b/library/std/src/sync/mpsc/tests.rs
@@ -713,10 +713,11 @@ fn issue_39364() {
     let t = thread::spawn(move || {
         thread::sleep(Duration::from_millis(300));
         let _ = tx.clone();
-        crate::mem::forget(tx);
+        // Don't drop; hand back to caller.
+        tx
     });
 
     let _ = rx.recv_timeout(Duration::from_millis(500));
-    t.join().unwrap();
+    let _tx = t.join().unwrap(); // delay dropping until end of test
     let _ = rx.recv_timeout(Duration::from_millis(500));
 }