/// Return a `Thunk<T>` object with an initialization function `init`
/// that will not be called until the thunk is evaluated.
Return a `Thunk` object with an initialization function `init`
that will not be called until the thunk is evaluated.
Return a ` Thunk ` object with an initialization function ` init ` that will not be called until the thunk is evaluated .
pub fn new(init: Box<dyn FnOnce() -> T + Send>) -> Self {
        Thunk {
            thunk: Lazy::new(init),
        }
    }
pub fn new ( init : Box < dyn FnOnce ( ) -> T + Send > ) -> Self { Thunk { thunk : Lazy :: new ( init ) , } }
Return a `Thunk<T>` object with an initialization function `init`
that will not be called until the thunk is evaluated.
Return a ` Thunk<T > ` object with an initialization function ` init ` that will not be called until the thunk is evaluated .
init
Box<dyn FnOnce() -> T + Send>