Stream: git-wasmtime

Topic: wasmtime / PR #14376 Effectively replace AccessorTask wit...


view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 13:26):

SilverMira opened PR #14376 from SilverMira:main to bytecodealliance:main:

closes: issue #14366

Through some trait and lifetime magic, it is possible to effectively specify a Send bound on the unnamed Future returned by AsyncFnOnce on stable.

This commit uses said magic and changes AccessorTask from a manually implemented trait into an async closure returning a Future that is Send. Users can now pass async move |accessor| { ... } into Accessor::spawn and friends directly, skipping boilerplate of creating a struct and implementing AccessorTask manually.

Additionally, it is no longer intended for users to manually implement AccessorTask, as implementing the trait now requires Self to also implement AsyncFnOnce, which is unstable.

All occurrences that manually implement AccessorTask within the repo is updated to just use an async closure.

I have verified that rustc is happy with cargo check -p wasmtime-wasi-tls as recommended in #14366, in both the nightly trait solver and stable trait solver via RUSTFLAGS=-Znext-solver=coherence.

This is a breaking change of course.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 13:26):

SilverMira requested pchickey for a review on PR #14376.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 13:26):

SilverMira requested wasmtime-wasi-reviewers for a review on PR #14376.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 13:26):

SilverMira requested wasmtime-core-reviewers for a review on PR #14376.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 14:17):

SilverMira commented on PR #14376:

Changing to draft first..., seems like the 'a may not be required for this to work, 'fut seems to work fine

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 14:17):

SilverMira converted PR #14376 Effectively replace AccessorTask with AsyncFnOnce in Accessor::spawn to a draft.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 14:50):

SilverMira updated PR #14376.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 14:54):

SilverMira has marked PR #14376 as ready for review.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 16:46):

github-actions[bot] added the label wasmtime:api on PR #14376.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 17:25):

:thumbs_up: fitzgen submitted PR review:

THanks!

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 17:26):

fitzgen added PR #14376 Effectively replace AccessorTask with AsyncFnOnce in Accessor::spawn to the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 18:14):

github-merge-queue[bot] removed PR #14376 Effectively replace AccessorTask with AsyncFnOnce in Accessor::spawn from the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 18:27):

alexcrichton added PR #14376 Effectively replace AccessorTask with AsyncFnOnce in Accessor::spawn to the merge queue.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 18:54):

:check: alexcrichton merged PR #14376.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 22 2026 at 18:54):

alexcrichton removed PR #14376 Effectively replace AccessorTask with AsyncFnOnce in Accessor::spawn from the merge queue.


Last updated: Oct 11 2026 at 02:20 UTC