History log of /wasmtime-44.0.1/crates/c-api/include/wasmtime/component/func.h (Results 1 – 6 of 6)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: dev, v36.0.9, v44.0.1, v43.0.2, v36.0.8, v24.0.8, v44.0.0, v43.0.1, v42.0.2, v36.0.7, v24.0.7, v43.0.0, v42.0.1, v41.0.4, v42.0.0, v40.0.4, v36.0.6, v24.0.6, v41.0.3
# c09aa380 03-Feb-2026 Joel Dice <[email protected]>

deprecate `[Typed]Func::post_return[_async]` and make them no-ops (#12498)

* deprecate `[Typed]Func::post_return[_async]` and make them no-ops

With the advent of the Component Model concurrency ABI

deprecate `[Typed]Func::post_return[_async]` and make them no-ops (#12498)

* deprecate `[Typed]Func::post_return[_async]` and make them no-ops

With the advent of the Component Model concurrency ABI and it's `task.return`
intrinsic, post-return functions have been informally deprecated and are
expected to be removed for WASI 1.0 and the corresponding stable edition of the
Component Model. Consequently, it does not make sense anymore to require
embedders to explicitly call the post-return function after using
`[Typed]Func::call[_async]`.

As of this commit, `[Typed]Func::post_return[_async]` are no-ops. Instead, the
post-return function is called automatically as part of
`[Typed]Func::call[_async]` if present, which is how
`[Typed]Func::call_concurrent` has worked all along. In addition, this commit
fixes and tests a couple of cases where the task and/or thread was being
disposed of before the post-return function was called.

* address review feedback

* test post-return function in more scenarios

Specifically, I've split the `invoke_post_return` test into multiple tests:

- using `TypedFunc::call`
- using `TypedFunc::call_async` with concurrency support enabled
- using `TypedFunc::call_async` with concurrency support disabled
- using `Func::call_async` with concurrency support disabled
- using `TypedFunc::call_concurrent`

* remove GCC/clang-specific deprecation attribute

This broke the MSVC build.

* bless bindgen output

* remove obsolete post-return functions and fields

Now that post-return calls are handled internally without requiring explicit
action by the embedder, we can avoid unnecessary bookkeeping.

show more ...


Revision tags: v41.0.2, v41.0.1, v36.0.5, v40.0.3, v41.0.0, v36.0.4, v39.0.2, v40.0.2, v40.0.1, v40.0.0, v39.0.1, v39.0.0, v38.0.4, v37.0.3, v36.0.3, v24.0.5
# 39ec36ca 05-Nov-2025 Alex Crichton <[email protected]>

Fill out type information for components in C API (#11937)

* Fill out type information for components in C API

I've concluded that I'll want this for wasmtime-py so this fills out
type reflection

Fill out type information for components in C API (#11937)

* Fill out type information for components in C API

I've concluded that I'll want this for wasmtime-py so this fills out
type reflection for various items in the C API. This then additionally
extends the C++ API as well.

prtest:full

* Update crates/c-api/include/wasmtime/component/types/func.h

Co-authored-by: Joel Dice <[email protected]>

---------

Co-authored-by: Joel Dice <[email protected]>

show more ...


Revision tags: v38.0.3, v38.0.2, v38.0.1, v37.0.2, v37.0.1, v37.0.0, v36.0.2, v36.0.1, v36.0.0, v35.0.0, v24.0.4, v33.0.2, v34.0.2, v34.0.1, v33.0.1, v24.0.3, v32.0.1, v34.0.0
# e33836c0 03-Jun-2025 Alex Crichton <[email protected]>

Refactor the representation of component::Func (#10914)

* Expand on FIXME comments

In case it takes awhile to get to them...

* Remove `FuncData::types`

This can always be inferred from the insta

Refactor the representation of component::Func (#10914)

* Expand on FIXME comments

In case it takes awhile to get to them...

* Remove `FuncData::types`

This can always be inferred from the instance itself.

* Add an `ExportIndex` to `FuncData`

This will soon be used to remove most other fields, but for now just
have it hanging out there.

* Remove `FuncData::component_instance` field

* Remove `FuncData::post_return`

* Remove `FuncData::ty`

* Remove `FuncData::export`

* Remove `FuncData::options`

* Remove `FuncData::post_return_arg`

This field was moved to `ComponentInstance` as the stateful storage of
the last function return value.

* Refactor the representation of `component::Func`

This commit updates the implementation of `component::Func` to be
index-based like all other exported items are now in Wasmtime. This
necessitated a new `StoreComponentInstanceId` abstraction similar to
`StoreInstanceId`. Additionally the `component_instance_replace`
function was entirely removed as it's no longer necessary.

show more ...


# 53701b21 27-May-2025 MangoPeachGrape <[email protected]>

c-api: component-model: Function post return, more values (#10841)

* c-api: component-model: `wasmtime_component_post_return()`

* c-api: component-model: Tuple values

* c-api: component-model: Var

c-api: component-model: Function post return, more values (#10841)

* c-api: component-model: `wasmtime_component_post_return()`

* c-api: component-model: Tuple values

* c-api: component-model: Variant values

This required `wasmtime_component_val_new()`

show more ...


# b2c64de1 23-May-2025 MangoPeachGrape <[email protected]>

c-api: component-model: Values and function calling (#10697)

* c-api: component-model: Primitive values

* c-api: component-model: Function calling

* A test

* Take args as mut to avoid copying

*

c-api: component-model: Values and function calling (#10697)

* c-api: component-model: Primitive values

* c-api: component-model: Function calling

* A test

* Take args as mut to avoid copying

* String and char

* Rethink value ownership semantics, add list values

* Record values

* Make take Rust values as refs in `::from()` functions

Later we can provide implementations that take it as a value to avoid
copying

* Define host functions

* `wasmtime_component_valrecord_new()`

* Use `u32` instead of `char` as its not ffi safe

* Test records and strings in c-api -> vm -> host func -> vm -> c-api

* `wasmtime_component_vallist_new()`

* Test lists

* Fix formatting

* Use existing `declare_vecs` construct

* Add rest of helper functions

* Add documentation

* Fix multiline comments

* Third time's the charm

* Fourth time's the charm prtest:full

* Doxygen file headers

* Fix other missing documentation

* Small fix to docs

show more ...


Revision tags: v33.0.0
# ce3c1a72 28-Apr-2025 MangoPeachGrape <[email protected]>

c-api: component-model: Lookup function from an instance (#10675)

* c-api: component-model: Lookup function from an instance

* c-api: component-model: Take strings as `wasm_name_t`

* Use export in

c-api: component-model: Lookup function from an instance (#10675)

* c-api: component-model: Lookup function from an instance

* c-api: component-model: Take strings as `wasm_name_t`

* Use export indices

* Shared `CHECK_ERR` macro

* Pass names as a pointer and a size, return nullable pointers

* Use `std::str::from_utf8()` instead of `str::from_utf8()`

* Remove doc link?

show more ...