//@ run-pass | |
#![allow(non_camel_case_types)] | |
struct closure_box<'a> { | |
cl: Box<dyn FnMut() + 'a>, | |
} | |
fn box_it<'a>(x: Box<dyn FnMut() + 'a>) -> closure_box<'a> { | |
closure_box {cl: x} | |
} | |
fn call_static_closure(mut cl: closure_box<'static>) { | |
(cl.cl)(); | |
} | |
pub fn main() { | |
let cl_box = box_it(Box::new(|| println!("Hello, world!"))); | |
call_static_closure(cl_box); | |
} |