Crate drop_guard [] [src]

This crate gives a generic way to add a callback to any dropping value

You may use this for debugging values, see examples.

Example:

extern crate drop_guard;
 
use drop_guard::DropGuard;
 
use std::thread::{spawn, sleep};
use std::time::Duration;
 
fn main() {
    // The guard must have a name. `_` will drop it instantly, which woudl lead to 
    // unexpected results
    let _g = DropGuard::new(spawn(move || {
                            sleep(Duration::from_secs(2));
                            println!("println! from thread");
                        })
                        , |join_handle| join_handle.join().unwrap());
     
    println!("Waiting for thread ...");
}

Structs

DropGuard