diff options
Diffstat (limited to 'src/libstd/sync')
| -rw-r--r-- | src/libstd/sync/future.rs | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/src/libstd/sync/future.rs b/src/libstd/sync/future.rs index e37d1f83877..3e1ba8cebf8 100644 --- a/src/libstd/sync/future.rs +++ b/src/libstd/sync/future.rs @@ -210,28 +210,4 @@ mod test { }); assert_eq!(rx.recv(), expected); } - - #[test] - fn test_dropped_future_doesnt_panic() { - struct Bomb(Sender<bool>); - - local_data_key!(LOCAL: Bomb) - - impl Drop for Bomb { - fn drop(&mut self) { - let Bomb(ref tx) = *self; - tx.send(task::failing()); - } - } - - // Spawn a future, but drop it immediately. When we receive the result - // later on, we should never view the task as having panicked. - let (tx, rx) = channel(); - drop(Future::spawn(proc() { - LOCAL.replace(Some(Bomb(tx))); - })); - - // Make sure the future didn't panic the task. - assert!(!rx.recv()); - } } |
