bendk
bendk
The Python code uses [_Py_IsFinalizing](https://github.com/facebook/folly/blob/7fad06e3d1ce4e427ea68abca9e862cced07607a/folly/python/AsyncioExecutor.h#L82), but that's been renamed to `Py_IsFinalizing` in Python 3.13. Here's an Apache Arrow [issue](https://github.com/python/cpython/issues/108014) and [PR](https://github.com/apache/arrow/pull/42034/files) that explains the problem and how to fix it.
There hasn't been agreement on a grand vision for async Rust in app-services (#6549). I think part of the reason is that ADR is discussing too many things. This is...
This is my new version of https://github.com/mozilla/application-services/pull/5910, which is more focused and more concrete. Maybe we're finally ready to actually make a decision here :crossed_fingers: ### Pull Request checklist ###...
Use `u64` values for interfaces and trait interfaces rather than `void *`. Now interfaces, callback interfaces, and trait interfaces all use `u64` handles as their FFI type. * Trait interfaces...
(This is based on top of https://github.com/mozilla/uniffi-rs/pull/2574. Let's merge that one first. This PR is just for the second commit). #2406 made `RustFuture` is store a `Box` rather than a...
Updated the `unsafe impl `Send` for WrappedFuture` docstring. I believe the new docs describe the situation more accurately. Moved back to using `RawWaker` because I want to drop the need...
While implementing the Python bindings (again), I've been thinking about https://github.com/mozilla/uniffi-rs/issues/2264 and I'm not sure we made the right choice there. To expand on the the example from that issue:...
Update https://mozilla.github.io/uniffi-rs/next/internals/async.html and add some discussion on cancelling futures/async functions.
Right now, interface and trait interface handles use raw pointers as their FFI type (`*mut ::std::ffi::c_void`). This makes sense since they're implemented using `Arc::into_raw`. This doesn't work great for trait...
When trait interfaces that have the `with_foreign` attribute are passed across the FFI, we always create a new wrapper layer. For example: - The trait interface is Rust is implemented...