Utility to help test drop implementations

Today I published my first crate: testdrop.

It is useful to help test drop implementations of objects that manages the lifetime of other objects, like smart pointers or containers. Here is a simple usage example:

extern crate testdrop;

use testdrop::TestDrop;
use std::rc::Rc;

let td = TestDrop::new();
let (id, item) = td.new_item();
let item = Rc::new(item);
let item_clone = item.clone();

// Decrease the reference counter, but do not drop.
drop(item_clone);
td.assert_no_drop(id);

// Decrease the reference counter and then drop.
drop(item);
td.assert_drop(id);

Comments are most welcome!