pub fn new_trial() -> (Rc<RefCell<Vec<T>>>, Box<dyn Fn(T) -> DropPusher<T>>)
            {
                let history = Rc::new(RefCell::new(vec![]));
                let new = {
                    let history = history.clone();
                    Box::new(move |x| DropPusher(history.clone(), x))
                };
                (history, new)
            }
/// Create a shared vector, and a `new` function which constructs
/// `DropPushers` tied to that vector.
Create a shared vector, and a `new` function which constructs
`DropPushers` tied to that vector.
Create a shared vector and a ` new ` function which constructs ` DropPushers ` tied to that vector .
pub fn new_trial() -> (Rc<RefCell<Vec<T>>>, Box<dyn Fn(T) -> DropPusher<T>>)
            {
                let history = Rc::new(RefCell::new(vec![]));
                let new = {
                    let history = history.clone();
                    Box::new(move |x| DropPusher(history.clone(), x))
                };
                (history, new)
            }
pub fn new_trial ( ) -> ( Rc < RefCell < Vec < T > > > , Box < dyn Fn ( T ) -> DropPusher < T > > ) { let history = Rc :: new ( RefCell :: new ( vec ! [ ] ) ) ; let new = { let history = history . clone ( ) ; Box :: new ( move | x | DropPusher ( history . clone ( ) , x ) ) } ; ( history , new ) }
Create a shared vector, and a `new` function which constructs
`DropPushers` tied to that vector.
Create a shared vector and a ` new ` function which constructs ` DropPushers ` tied to that vector .