diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-12-04 14:43:02 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-12-10 15:13:12 -0800 |
| commit | ab3bec91d77150e434ac1480fbb3935213e33dca (patch) | |
| tree | f0060ee28e481bd72a2c767a55efdebe63db3748 /src/libstd/rt | |
| parent | 7cac9fe76349120ea2373f3ce47a561271b5e8b6 (diff) | |
| download | rust-ab3bec91d77150e434ac1480fbb3935213e33dca.tar.gz rust-ab3bec91d77150e434ac1480fbb3935213e33dca.zip | |
libstd: Remove some cells involved in
`deschedule_running_task_and_then`.
Diffstat (limited to 'src/libstd/rt')
| -rw-r--r-- | src/libstd/rt/tube.rs | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/libstd/rt/tube.rs b/src/libstd/rt/tube.rs index 15d8c7f9aac..5e867bcdfba 100644 --- a/src/libstd/rt/tube.rs +++ b/src/libstd/rt/tube.rs @@ -88,7 +88,6 @@ impl<T> Clone for Tube<T> { #[cfg(test)] mod test { - use cell::Cell; use rt::test::*; use rt::rtio::EventLoop; use rt::sched::Scheduler; @@ -100,11 +99,10 @@ mod test { fn simple_test() { do run_in_newsched_task { let mut tube: Tube<int> = Tube::new(); - let tube_clone = tube.clone(); - let tube_clone_cell = Cell::new(tube_clone); + let mut tube_clone = Some(tube.clone()); let sched: ~Scheduler = Local::take(); sched.deschedule_running_task_and_then(|sched, task| { - let mut tube_clone = tube_clone_cell.take(); + let mut tube_clone = tube_clone.take_unwrap(); tube_clone.send(1); sched.enqueue_blocked_task(task); }); @@ -117,11 +115,10 @@ mod test { fn blocking_test() { do run_in_newsched_task { let mut tube: Tube<int> = Tube::new(); - let tube_clone = tube.clone(); - let tube_clone = Cell::new(tube_clone); + let mut tube_clone = Some(tube.clone()); let sched: ~Scheduler = Local::take(); sched.deschedule_running_task_and_then(|sched, task| { - let tube_clone = tube_clone.take(); + let tube_clone = tube_clone.take_unwrap(); do sched.event_loop.callback { let mut tube_clone = tube_clone; // The task should be blocked on this now and @@ -141,11 +138,10 @@ mod test { do run_in_newsched_task { let mut tube: Tube<int> = Tube::new(); - let tube_clone = tube.clone(); - let tube_clone = Cell::new(tube_clone); + let mut tube_clone = Some(tube.clone()); let sched: ~Scheduler = Local::take(); sched.deschedule_running_task_and_then(|sched, task| { - callback_send(tube_clone.take(), 0); + callback_send(tube_clone.take_unwrap(), 0); fn callback_send(tube: Tube<int>, i: int) { if i == 100 { |
