mismatched types
expected unit type ()
found opaque type impl Future<Output = ()>
I'm calling the closure after this line:
let user_ie: fn(Arc<Application>) -> () = $lambda_exp;
I tried to express the user_ie's return type as impl ::std::future::Future<Output = ()>. Here's the experiment defining the closure: github.com/... and here's the crate defining the rialight::initialize! macro: github.com/...
Limiting the user's closure to be of a specific type avoids issues with the macro, I believe. If the closure does anything wrong, the error can go at the macro instead of the closure... But I didn't know you could just infer the return type...