- [major] Tweak parameter drop-order of proc-macro generated code to align with
the ordinary
async fn
. - [minor] Bump MSRV to 1.56, due to syn 2 dependency of proc-macro.
- [fix] Fix
ref mut
pattern handling in proc-macro. - [fix] Suppress warnings on Clippy nightly.
- [fix] Fix various typos.
- [minor] Bump dependency
abi_stable
to 0.11. - [minor] Proc-macro helper
#[async_ffi]
. - [fix] Unignore tests for
miri
since they work now. - [fix] Reorganize and clean up documentations.
- [minor] Add an optional feature
abi_stable
to deriveStableAbi
. Some internal structs are tweaked to fit the requirement ofStableAbi
, but the interface C ABI is unchanged. - [fix] Tweak crate descriptions.
- [fix] Ignore tests using
tokio
onmiri
interpreter.
-
[fix] Abort when panicking across the FFI boundary in corner cases. (#8)
Future::drop
, panic payload fromFuture::poll
, allWaker
vtable functionsWaker::*
are are now wrapped instd::panic::catch_unwind
. Anabort
will be emitted when panic occurs, since these functions are infallible and doesn't have sane value to return when panicking. A short message would be printed to stderr beforeabort
. -
[fix]
FfiContext::with_context
is actually safe.
- [major] Introduce a Poll variant
Panicked
which returns whenFuture::poll
panicked in order to propagate panic to the host. - [minor] Public
FfiPoll
andFfiContext
.