Function ffi_support::call_with_output
source · pub fn call_with_output<R, F>(
out_error: &mut ExternError,
callback: F
) -> R::Valuewhere
F: FnOnce() -> R,
R: IntoFfi,
Expand description
Call a callback that returns a T
while:
- Catching panics, and reporting them to C via
ExternError
- Converting
T
to a C-compatible type usingIntoFfi
Note that you still need to provide an ExternError
to this function, to report panics.
See call_with_result
if you’d like to return a Result<T, E>
(Note: E
must
be convertible to ExternError
).
This (or call_with_result
) should be in the majority of the FFI functions, see
the crate top-level docs for more info.