I'm trying to write a simple wrapper.
pub type CCallback = unsafe extern "C" fn( *mut c_void ) -> STATUS_T;
pub fn function_rust<F: Fn()>(myfunc: F, handle : &mut HANDLE_t)
{
unsafe extern "C" fn wrapper<F: Fn()>( args : *mut c_void ) -> STATUS_T
{
myfunc();
println!("wrapper");
STATUS_T::OK
};
c_func_set_cb(wrapper::<F>).unwrap();
}
///...
///Call
function_rust(||{
println!("TEST");
}, &mut v.handle);
Error:
error[E0434]: can't capture dynamic environment in a fn item
--> src/lib.rs:90:9
|
90 | myfunc();
| ^^^^^^
|
= help: use the `|| { ... }` closure form instead