In Rust 1.26 a new feature called impl Trait was stabilized which makes function able to return an unboxed closure. But how to define a struct field's type for an unboxed closure, code below doesn't compile:
fn return_closure() -> impl Fn() -> () {
move || {
println!("abc");
}
}
struct HoldClosure {
closure: impl Fn() -> ()
}
fn main() {
let hold_my_closure = HoldClosure {
closure: return_closure()
};
}