fn enter_drop_phase(&mut self) {
        COLLECTOR_PHASE.lock().update(CollectorPhase::Finalization);

        while !self.drop_queue.is_empty() {
            let block = self.drop_queue.pop().unwrap();
            unsafe { block.drop() }
        }
    }
/// The entry-point to the drop phase.
///
/// Iterates over the objects in the drop queue and run their destructors.
/// Since Rust's `Drop` trait is used, the drop semantics should be familiar
/// to Rust users: destructors are run from the outside-in. In the case of
/// cycles between `Gc` objects, no guarantees are made about which
/// destructor is ran first.
The entry-point to the drop phase.
Iterates over the objects in the drop queue and run their destructors.
Since Rust's `Drop` trait is used, the drop semantics should be familiar
to Rust users: destructors are run from the outside-in. In the case of
cycles between `Gc` objects, no guarantees are made about which
destructor is ran first.
The entry - point to the drop phase . Iterates over the objects in the drop queue and run their destructors . Since Rust ' s ` Drop ` trait is used the drop semantics should be familiar to Rust users : destructors are run from the outside - in . In the case of cycles between ` Gc ` objects no guarantees are made about which destructor is ran first .
fn enter_drop_phase(&mut self) {
        COLLECTOR_PHASE.lock().update(CollectorPhase::Finalization);
        while !self.drop_queue.is_empty() {
            let block = self.drop_queue.pop().unwrap();
            unsafe { block.drop() }
        }
    }
fn enter_drop_phase ( & mut self ) { COLLECTOR_PHASE . lock ( ) . update ( CollectorPhase :: Finalization ) ; while ! self . drop_queue . is_empty ( ) { let block = self . drop_queue . pop ( ) . unwrap ( ) ; unsafe { block . drop ( ) } } }
The entry-point to the drop phase.
The entry - point to the drop phase .
&mut self