Stream: git-wasmtime

Topic: wasmtime / PR #11861 Expose exceptions proposal configura...


view this post on Zulip Wasmtime GitHub notifications bot (Oct 15 2025 at 11:51):

MU-Software edited PR #11861.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 15 2025 at 11:51):

MU-Software edited PR #11861:

This PR makes wasmtime exceptions configuration available through the C API.
The goal is to let downstream bindings like wasmtime-py configure exceptions proposal directly. (Yeah, That's what I'm trying to do :yum:)

This is similar in spirit to #7811, which also added configuration.

Verified that the new API compiles and links correctly via the C API build (cargo build --release --manifest-path crates/c-api/Cargo.toml).

view this post on Zulip Wasmtime GitHub notifications bot (Oct 15 2025 at 12:09):

MU-Software updated PR #11861.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 15 2025 at 14:40):

alexcrichton commented on PR #11861:

Thanks for the PR! This is actually missing the Rust-side implementation, though, for example a copy of this function. While the C API builds the error would come about when an external embedding (e.g. wasmtime-py) would lookup the symbol and that would fail. If you'd like you could add a test too which wuold expose the linking failure, but this is a pretty minor function so it's also ok to skip the test.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 16 2025 at 12:55):

MU-Software updated PR #11861.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 16 2025 at 13:18):

MU-Software commented on PR #11861:

Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:

I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!

<details>
<summary>Test result</summary>

CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test
Running tests...
Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build
      Start  1: anyref-c
 1/96 Test  #1: anyref-c .........................   Passed    0.82 sec
      Start  2: anyref-cpp-c
 2/96 Test  #2: anyref-cpp-c .....................   Passed    0.86 sec
      Start  3: async-c
 3/96 Test  #3: async-c ..........................   Passed    1.84 sec
      Start  4: externref-c
 4/96 Test  #4: externref-c ......................   Passed    1.02 sec
      Start  5: externref-cpp-c
 5/96 Test  #5: externref-cpp-c ..................   Passed    0.82 sec
      Start  6: fib-debug-c
 6/96 Test  #6: fib-debug-c ......................   Passed    0.84 sec
      Start  7: fuel-c
 7/96 Test  #7: fuel-c ...........................   Passed    0.83 sec
      Start  8: fuel-cpp-c
 8/96 Test  #8: fuel-cpp-c .......................   Passed    0.83 sec
      Start  9: gcd-c
 9/96 Test  #9: gcd-c ............................   Passed    0.84 sec
      Start 10: gcd-cpp-c
10/96 Test #10: gcd-cpp-c ........................   Passed    0.80 sec
      Start 11: hello-c
11/96 Test #11: hello-c ..........................   Passed    0.83 sec
      Start 12: hello-cpp-c
12/96 Test #12: hello-cpp-c ......................   Passed    0.86 sec
      Start 13: interrupt-c
13/96 Test #13: interrupt-c ......................   Passed    1.83 sec
      Start 14: interrupt-cpp-c
14/96 Test #14: interrupt-cpp-c ..................   Passed    1.84 sec
      Start 15: linking-c
15/96 Test #15: linking-c ........................   Passed    1.07 sec
      Start 16: linking-cpp-c
16/96 Test #16: linking-cpp-c ....................   Passed    0.82 sec
      Start 17: memory-c
17/96 Test #17: memory-c .........................   Passed    0.84 sec
      Start 18: memory-cpp-c
18/96 Test #18: memory-cpp-c .....................   Passed    0.87 sec
      Start 19: multi-c
19/96 Test #19: multi-c ..........................   Passed    0.82 sec
      Start 20: multi-cpp-c
20/96 Test #20: multi-cpp-c ......................   Passed    0.83 sec
      Start 21: multimemory-c
21/96 Test #21: multimemory-c ....................   Passed    0.83 sec
      Start 22: multimemory-cpp-c
22/96 Test #22: multimemory-cpp-c ................   Passed    0.84 sec
      Start 23: serialize-c
23/96 Test #23: serialize-c ......................   Passed    0.82 sec
      Start 24: serialize-cpp-c
24/96 Test #24: serialize-cpp-c ..................   Passed    0.86 sec
      Start 25: threads-c
25/96 Test #25: threads-c ........................   Passed    1.15 sec
      Start 26: threads-cpp-c
26/96 Test #26: threads-cpp-c ....................   Passed    1.17 sec
      Start 27: wasip1-c
27/96 Test #27: wasip1-c .........................   Passed    0.94 sec
      Start 28: wasip1-cpp-c
28/96 Test #28: wasip1-cpp-c .....................   Passed    1.13 sec
      Start 29: Engine.Smoke
29/96 Test #29: Engine.Smoke .....................   Passed    0.03 sec
      Start 30: Engine.Simple
30/96 Test #30: Engine.Simple ....................   Passed    0.01 sec
      Start 31: wat2wasm.Smoke
31/96 Test #31: wat2wasm.Smoke ...................   Passed    0.01 sec
      Start 32: wat2wasm.Simple
32/96 Test #32: wat2wasm.Simple ..................   Passed    0.01 sec
      Start 33: Module.Smoke
33/96 Test #33: Module.Smoke .....................   Passed    0.02 sec
      Start 34: Module.Serialize
34/96 Test #34: Module.Serialize .................   Passed    0.01 sec
      Start 35: Module.Simple
35/96 Test #35: Module.Simple ....................   Passed    0.01 sec
      Start 36: ExternRef.Smoke
36/96 Test #36: ExternRef.Smoke ..................   Passed    0.01 sec
      Start 37: Caller.Smoke
37/96 Test #37: Caller.Smoke .....................   Passed    0.03 sec
      Start 38: Func.Smoke
38/96 Test #38: Func.Smoke .......................   Passed    0.01 sec
      Start 39: Data.Smoke
39/96 Test #39: Data.Smoke .......................   Passed    0.01 sec
      Start 40: ValType.Smoke
40/96 Test #40: ValType.Smoke ....................   Passed    0.01 sec
      Start 41: ValType.Simple
41/96 Test #41: ValType.Simple ...................   Passed    0.01 sec
      Start 42: MemoryType.Smoke
42/96 Test #42: MemoryType.Smoke .................   Passed    0.01 sec
      Start 43: MemoryType.SixtyFour
43/96 Test #43: MemoryType.SixtyFour .............   Passed    0.01 sec
      Start 44: MemoryType.Simple
44/96 Test #44: MemoryType.Simple ................   Passed    0.01 sec
      Start 45: MemoryType.WithMax
45/96 Test #45: MemoryType.WithMax ...............   Passed    0.01 sec
      Start 46: MemoryType.Mem64
46/96 Test #46: MemoryType.Mem64 .................   Passed    0.01 sec
      Start 47: MemoryType.Builder
47/96 Test #47: MemoryType.Builder ...............   Passed    0.01 sec
      Start 48: TableType.Smoke
48/96 Test #48: TableType.Smoke ..................   Passed    0.01 sec
      Start 49: TableType.Simple
49/96 Test #49: TableType.Simple .................   Passed    0.01 sec
      Start 50: GlobalType.Smoke
50/96 Test #50: GlobalType.Smoke .................   Passed    0.01 sec
      Start 51: GlobalType.Simple
51/96 Test #51: GlobalType.Simple ................   Passed    0.01 sec
      Start 52: ModuleType.Smoke
52/96 Test #52: ModuleType.Smoke .................   Passed    0.01 sec
      Start 53: ValKind.String
53/96 Test #53: ValKind.String ...................   Passed    0.01 sec
      Start 54: FuncType.Smoke
54/96 Test #54: FuncType.Smoke ...................   Passed    0.01 sec
      Start 55: ImportType.Smoke
55/96 Test #55: ImportType.Smoke .................   Passed    0.01 sec
      Start 56: ExportType.Smoke
56/96 Test #56: ExportType.Smoke .................   Passed    0.01 sec
      Start 57: ExternType.Smoke
57/96 Test #57: ExternType.Smoke .................   Passed    0.01 sec
      Start 58: TypedFunc.Smoke
58/96 Test #58: TypedFunc.Smoke ..................   Passed    0.01 sec
      Start 59: TypedFunc.Call
59/96 Test #59: TypedFunc.Call ...................   Passed    0.01 sec
      Start 60: TypedFunc.WrapAndTypes
60/96 Test #60: TypedFunc.WrapAndTypes ...........   Passed    0.01 sec
      Start 61: TypedFunc.WrapRuntime
61/96 Test #61: TypedFunc.WrapRuntime ............   Passed    0.01 sec
      Start 62: component.instantiate
62/96 Test #62: component.instantiate ............   Passed    0.01 sec
      Start 63: component.define_module
63/96 Test #63: component.define_module ..........   Passed    0.01 sec
      Start 64: component.lookup_func
64/96 Test #64: component.lookup_func ............   Passed    0.01 sec
      Start 65: component.call_func
65/96 Test #65: component.call_func ..............   Passed    0.01 sec
      Start 66: component.value_record
66/96 Test #66: component.value_record ...........   Passed    0.02 sec
      Start 67: component.value_string
67/96 Test #67: component.value_string ...........   Passed    0.01 sec
      Start 68: component.value_list
68/96 Test #68: component.value_list .............   Passed    0.01 sec
      Start 69: component.value_tuple
69/96 Test #69: component.value_tuple ............   Passed    0.01 sec
      Start 70: component.value_variant
70/96 Test #70: component.value_variant ..........   Passed    0.01 sec
      Start 71: component.value_enum
71/96 Test #71: component.value_enum .............   Passed    0.01 sec
      Start 72: component.value_option
72/96 Test #72: component.value_option ...........   Passed    0.01 sec
      Start 73: component.value_result
73/96 Test #73: component.value_result ...........   Passed    0.01 sec
      Start 74: component.value_flags
74/96 Test #74: component.value_flags ............   Passed    0.01 sec
      Start 75: component.value_list_inner
75/96 Test #75: component.value_list_inner .......   Passed    0.01 sec
      Start 76: Result.Simple
76/96 Test #76: Result.Simple ....................   Passed    0.01 sec
      Start 77: Error.Simple
77/96 Test #77: Error.Simple .....................   Passed    0.01 sec
      Start 78: PoolAllocationConfig.Smoke
78/96 Test #78: PoolAllocationConfig.Smoke .......   Passed    0.01 sec
      Start 79: Config.Smoke
79/96 Test #79: Config.Smoke .....................   Passed    0.01 sec
      Start 80: Config.MemoryCreator
80/96 Test #80: Config.MemoryCreator .............   Passed    0.01 sec
      Start 81: Trap.Smoke
81/96 Test #81: Trap.Smoke .......................   Passed    0.01 sec
      Start 82: Trap.Codes
82/96 Test #82: Trap.Codes .......................   Passed    0.01 sec
      Start 83: WasiConfig.Smoke
83/96 Test #83: WasiConfig.Smoke .................   Passed    0.01 sec
      Start 84: Store.Smoke
84/96 Test #84: Store.Smoke ......................   Passed    0.01 sec
      Start 85: Val.Smoke
85/96 Test #85: Val.Smoke ........................   Passed    0.01 sec
      Start 86
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Oct 16 2025 at 13:18):

MU-Software edited a comment on PR #11861:

Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:

I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!

<details>
<summary>Test result</summary>

CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test
Running tests...
Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build
      Start  1: anyref-c
 1/96 Test  #1: anyref-c .........................   Passed    0.82 sec
      Start  2: anyref-cpp-c
 2/96 Test  #2: anyref-cpp-c .....................   Passed    0.86 sec
      Start  3: async-c
 3/96 Test  #3: async-c ..........................   Passed    1.84 sec
      Start  4: externref-c
 4/96 Test  #4: externref-c ......................   Passed    1.02 sec
      Start  5: externref-cpp-c
 5/96 Test  #5: externref-cpp-c ..................   Passed    0.82 sec
      Start  6: fib-debug-c
 6/96 Test  #6: fib-debug-c ......................   Passed    0.84 sec
      Start  7: fuel-c
 7/96 Test  #7: fuel-c ...........................   Passed    0.83 sec
      Start  8: fuel-cpp-c
 8/96 Test  #8: fuel-cpp-c .......................   Passed    0.83 sec
      Start  9: gcd-c
 9/96 Test  #9: gcd-c ............................   Passed    0.84 sec
      Start 10: gcd-cpp-c
10/96 Test #10: gcd-cpp-c ........................   Passed    0.80 sec
      Start 11: hello-c
11/96 Test #11: hello-c ..........................   Passed    0.83 sec
      Start 12: hello-cpp-c
12/96 Test #12: hello-cpp-c ......................   Passed    0.86 sec
      Start 13: interrupt-c
13/96 Test #13: interrupt-c ......................   Passed    1.83 sec
      Start 14: interrupt-cpp-c
14/96 Test #14: interrupt-cpp-c ..................   Passed    1.84 sec
      Start 15: linking-c
15/96 Test #15: linking-c ........................   Passed    1.07 sec
      Start 16: linking-cpp-c
16/96 Test #16: linking-cpp-c ....................   Passed    0.82 sec
      Start 17: memory-c
17/96 Test #17: memory-c .........................   Passed    0.84 sec
      Start 18: memory-cpp-c
18/96 Test #18: memory-cpp-c .....................   Passed    0.87 sec
      Start 19: multi-c
19/96 Test #19: multi-c ..........................   Passed    0.82 sec
      Start 20: multi-cpp-c
20/96 Test #20: multi-cpp-c ......................   Passed    0.83 sec
      Start 21: multimemory-c
21/96 Test #21: multimemory-c ....................   Passed    0.83 sec
      Start 22: multimemory-cpp-c
22/96 Test #22: multimemory-cpp-c ................   Passed    0.84 sec
      Start 23: serialize-c
23/96 Test #23: serialize-c ......................   Passed    0.82 sec
      Start 24: serialize-cpp-c
24/96 Test #24: serialize-cpp-c ..................   Passed    0.86 sec
      Start 25: threads-c
25/96 Test #25: threads-c ........................   Passed    1.15 sec
      Start 26: threads-cpp-c
26/96 Test #26: threads-cpp-c ....................   Passed    1.17 sec
      Start 27: wasip1-c
27/96 Test #27: wasip1-c .........................   Passed    0.94 sec
      Start 28: wasip1-cpp-c
28/96 Test #28: wasip1-cpp-c .....................   Passed    1.13 sec
      Start 29: Engine.Smoke
29/96 Test #29: Engine.Smoke .....................   Passed    0.03 sec
      Start 30: Engine.Simple
30/96 Test #30: Engine.Simple ....................   Passed    0.01 sec
      Start 31: wat2wasm.Smoke
31/96 Test #31: wat2wasm.Smoke ...................   Passed    0.01 sec
      Start 32: wat2wasm.Simple
32/96 Test #32: wat2wasm.Simple ..................   Passed    0.01 sec
      Start 33: Module.Smoke
33/96 Test #33: Module.Smoke .....................   Passed    0.02 sec
      Start 34: Module.Serialize
34/96 Test #34: Module.Serialize .................   Passed    0.01 sec
      Start 35: Module.Simple
35/96 Test #35: Module.Simple ....................   Passed    0.01 sec
      Start 36: ExternRef.Smoke
36/96 Test #36: ExternRef.Smoke ..................   Passed    0.01 sec
      Start 37: Caller.Smoke
37/96 Test #37: Caller.Smoke .....................   Passed    0.03 sec
      Start 38: Func.Smoke
38/96 Test #38: Func.Smoke .......................   Passed    0.01 sec
      Start 39: Data.Smoke
39/96 Test #39: Data.Smoke .......................   Passed    0.01 sec
      Start 40: ValType.Smoke
40/96 Test #40: ValType.Smoke ....................   Passed    0.01 sec
      Start 41: ValType.Simple
41/96 Test #41: ValType.Simple ...................   Passed    0.01 sec
      Start 42: MemoryType.Smoke
42/96 Test #42: MemoryType.Smoke .................   Passed    0.01 sec
      Start 43: MemoryType.SixtyFour
43/96 Test #43: MemoryType.SixtyFour .............   Passed    0.01 sec
      Start 44: MemoryType.Simple
44/96 Test #44: MemoryType.Simple ................   Passed    0.01 sec
      Start 45: MemoryType.WithMax
45/96 Test #45: MemoryType.WithMax ...............   Passed    0.01 sec
      Start 46: MemoryType.Mem64
46/96 Test #46: MemoryType.Mem64 .................   Passed    0.01 sec
      Start 47: MemoryType.Builder
47/96 Test #47: MemoryType.Builder ...............   Passed    0.01 sec
      Start 48: TableType.Smoke
48/96 Test #48: TableType.Smoke ..................   Passed    0.01 sec
      Start 49: TableType.Simple
49/96 Test #49: TableType.Simple .................   Passed    0.01 sec
      Start 50: GlobalType.Smoke
50/96 Test #50: GlobalType.Smoke .................   Passed    0.01 sec
      Start 51: GlobalType.Simple
51/96 Test #51: GlobalType.Simple ................   Passed    0.01 sec
      Start 52: ModuleType.Smoke
52/96 Test #52: ModuleType.Smoke .................   Passed    0.01 sec
      Start 53: ValKind.String
53/96 Test #53: ValKind.String ...................   Passed    0.01 sec
      Start 54: FuncType.Smoke
54/96 Test #54: FuncType.Smoke ...................   Passed    0.01 sec
      Start 55: ImportType.Smoke
55/96 Test #55: ImportType.Smoke .................   Passed    0.01 sec
      Start 56: ExportType.Smoke
56/96 Test #56: ExportType.Smoke .................   Passed    0.01 sec
      Start 57: ExternType.Smoke
57/96 Test #57: ExternType.Smoke .................   Passed    0.01 sec
      Start 58: TypedFunc.Smoke
58/96 Test #58: TypedFunc.Smoke ..................   Passed    0.01 sec
      Start 59: TypedFunc.Call
59/96 Test #59: TypedFunc.Call ...................   Passed    0.01 sec
      Start 60: TypedFunc.WrapAndTypes
60/96 Test #60: TypedFunc.WrapAndTypes ...........   Passed    0.01 sec
      Start 61: TypedFunc.WrapRuntime
61/96 Test #61: TypedFunc.WrapRuntime ............   Passed    0.01 sec
      Start 62: component.instantiate
62/96 Test #62: component.instantiate ............   Passed    0.01 sec
      Start 63: component.define_module
63/96 Test #63: component.define_module ..........   Passed    0.01 sec
      Start 64: component.lookup_func
64/96 Test #64: component.lookup_func ............   Passed    0.01 sec
      Start 65: component.call_func
65/96 Test #65: component.call_func ..............   Passed    0.01 sec
      Start 66: component.value_record
66/96 Test #66: component.value_record ...........   Passed    0.02 sec
      Start 67: component.value_string
67/96 Test #67: component.value_string ...........   Passed    0.01 sec
      Start 68: component.value_list
68/96 Test #68: component.value_list .............   Passed    0.01 sec
      Start 69: component.value_tuple
69/96 Test #69: component.value_tuple ............   Passed    0.01 sec
      Start 70: component.value_variant
70/96 Test #70: component.value_variant ..........   Passed    0.01 sec
      Start 71: component.value_enum
71/96 Test #71: component.value_enum .............   Passed    0.01 sec
      Start 72: component.value_option
72/96 Test #72: component.value_option ...........   Passed    0.01 sec
      Start 73: component.value_result
73/96 Test #73: component.value_result ...........   Passed    0.01 sec
      Start 74: component.value_flags
74/96 Test #74: component.value_flags ............   Passed    0.01 sec
      Start 75: component.value_list_inner
75/96 Test #75: component.value_list_inner .......   Passed    0.01 sec
      Start 76: Result.Simple
76/96 Test #76: Result.Simple ....................   Passed    0.01 sec
      Start 77: Error.Simple
77/96 Test #77: Error.Simple .....................   Passed    0.01 sec
      Start 78: PoolAllocationConfig.Smoke
78/96 Test #78: PoolAllocationConfig.Smoke .......   Passed    0.01 sec
      Start 79: Config.Smoke
79/96 Test #79: Config.Smoke .....................   Passed    0.01 sec
      Start 80: Config.MemoryCreator
80/96 Test #80: Config.MemoryCreator .............   Passed    0.01 sec
      Start 81: Trap.Smoke
81/96 Test #81: Trap.Smoke .......................   Passed    0.01 sec
      Start 82: Trap.Codes
82/96 Test #82: Trap.Codes .......................   Passed    0.01 sec
      Start 83: WasiConfig.Smoke
83/96 Test #83: WasiConfig.Smoke .................   Passed    0.01 sec
      Start 84: Store.Smoke
84/96 Test #84: Store.Smoke ......................   Passed    0.01 sec
      Start 85: Val.Smoke
85/96 Test #85: Val.Smoke ........................   Passed    0.01 sec

[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Oct 16 2025 at 13:19):

MU-Software edited a comment on PR #11861:

Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:

I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!

<details>
<summary>Test result</summary>

CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test
Running tests...
Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build
      Start  1: anyref-c
 1/96 Test  #1: anyref-c .........................   Passed    0.82 sec
      Start  2: anyref-cpp-c
 2/96 Test  #2: anyref-cpp-c .....................   Passed    0.86 sec
      Start  3: async-c
 3/96 Test  #3: async-c ..........................   Passed    1.84 sec
      Start  4: externref-c
 4/96 Test  #4: externref-c ......................   Passed    1.02 sec
      Start  5: externref-cpp-c
 5/96 Test  #5: externref-cpp-c ..................   Passed    0.82 sec
      Start  6: fib-debug-c
 6/96 Test  #6: fib-debug-c ......................   Passed    0.84 sec
      Start  7: fuel-c
 7/96 Test  #7: fuel-c ...........................   Passed    0.83 sec
      Start  8: fuel-cpp-c
 8/96 Test  #8: fuel-cpp-c .......................   Passed    0.83 sec
      Start  9: gcd-c
 9/96 Test  #9: gcd-c ............................   Passed    0.84 sec
      Start 10: gcd-cpp-c
10/96 Test #10: gcd-cpp-c ........................   Passed    0.80 sec
      Start 11: hello-c
11/96 Test #11: hello-c ..........................   Passed    0.83 sec
      Start 12: hello-cpp-c
12/96 Test #12: hello-cpp-c ......................   Passed    0.86 sec
      Start 13: interrupt-c
13/96 Test #13: interrupt-c ......................   Passed    1.83 sec
      Start 14: interrupt-cpp-c
14/96 Test #14: interrupt-cpp-c ..................   Passed    1.84 sec
      Start 15: linking-c
15/96 Test #15: linking-c ........................   Passed    1.07 sec
      Start 16: linking-cpp-c
16/96 Test #16: linking-cpp-c ....................   Passed    0.82 sec
      Start 17: memory-c
17/96 Test #17: memory-c .........................   Passed    0.84 sec
      Start 18: memory-cpp-c
18/96 Test #18: memory-cpp-c .....................   Passed    0.87 sec
      Start 19: multi-c
19/96 Test #19: multi-c ..........................   Passed    0.82 sec
      Start 20: multi-cpp-c
20/96 Test #20: multi-cpp-c ......................   Passed    0.83 sec
      Start 21: multimemory-c
21/96 Test #21: multimemory-c ....................   Passed    0.83 sec
      Start 22: multimemory-cpp-c
22/96 Test #22: multimemory-cpp-c ................   Passed    0.84 sec
      Start 23: serialize-c
23/96 Test #23: serialize-c ......................   Passed    0.82 sec
      Start 24: serialize-cpp-c
24/96 Test #24: serialize-cpp-c ..................   Passed    0.86 sec
      Start 25: threads-c
25/96 Test #25: threads-c ........................   Passed    1.15 sec
      Start 26: threads-cpp-c
26/96 Test #26: threads-cpp-c ....................   Passed    1.17 sec
      Start 27: wasip1-c
27/96 Test #27: wasip1-c .........................   Passed    0.94 sec
      Start 28: wasip1-cpp-c
28/96 Test #28: wasip1-cpp-c .....................   Passed    1.13 sec
      Start 29: Engine.Smoke
29/96 Test #29: Engine.Smoke .....................   Passed    0.03 sec
      Start 30: Engine.Simple
30/96 Test #30: Engine.Simple ....................   Passed    0.01 sec
      Start 31: wat2wasm.Smoke
31/96 Test #31: wat2wasm.Smoke ...................   Passed    0.01 sec
      Start 32: wat2wasm.Simple
32/96 Test #32: wat2wasm.Simple ..................   Passed    0.01 sec
      Start 33: Module.Smoke
33/96 Test #33: Module.Smoke .....................   Passed    0.02 sec
      Start 34: Module.Serialize
34/96 Test #34: Module.Serialize .................   Passed    0.01 sec
      Start 35: Module.Simple
35/96 Test #35: Module.Simple ....................   Passed    0.01 sec
      Start 36: ExternRef.Smoke
36/96 Test #36: ExternRef.Smoke ..................   Passed    0.01 sec
      Start 37: Caller.Smoke
37/96 Test #37: Caller.Smoke .....................   Passed    0.03 sec
      Start 38: Func.Smoke
38/96 Test #38: Func.Smoke .......................   Passed    0.01 sec
      Start 39: Data.Smoke
39/96 Test #39: Data.Smoke .......................   Passed    0.01 sec
      Start 40: ValType.Smoke
40/96 Test #40: ValType.Smoke ....................   Passed    0.01 sec
      Start 41: ValType.Simple
41/96 Test #41: ValType.Simple ...................   Passed    0.01 sec
      Start 42: MemoryType.Smoke
42/96 Test #42: MemoryType.Smoke .................   Passed    0.01 sec
      Start 43: MemoryType.SixtyFour
43/96 Test #43: MemoryType.SixtyFour .............   Passed    0.01 sec
      Start 44: MemoryType.Simple
44/96 Test #44: MemoryType.Simple ................   Passed    0.01 sec
      Start 45: MemoryType.WithMax
45/96 Test #45: MemoryType.WithMax ...............   Passed    0.01 sec
      Start 46: MemoryType.Mem64
46/96 Test #46: MemoryType.Mem64 .................   Passed    0.01 sec
      Start 47: MemoryType.Builder
47/96 Test #47: MemoryType.Builder ...............   Passed    0.01 sec
      Start 48: TableType.Smoke
48/96 Test #48: TableType.Smoke ..................   Passed    0.01 sec
      Start 49: TableType.Simple
49/96 Test #49: TableType.Simple .................   Passed    0.01 sec
      Start 50: GlobalType.Smoke
50/96 Test #50: GlobalType.Smoke .................   Passed    0.01 sec
      Start 51: GlobalType.Simple
51/96 Test #51: GlobalType.Simple ................   Passed    0.01 sec
      Start 52: ModuleType.Smoke
52/96 Test #52: ModuleType.Smoke .................   Passed    0.01 sec
      Start 53: ValKind.String
53/96 Test #53: ValKind.String ...................   Passed    0.01 sec
      Start 54: FuncType.Smoke
54/96 Test #54: FuncType.Smoke ...................   Passed    0.01 sec
      Start 55: ImportType.Smoke
55/96 Test #55: ImportType.Smoke .................   Passed    0.01 sec
      Start 56: ExportType.Smoke
56/96 Test #56: ExportType.Smoke .................   Passed    0.01 sec
      Start 57: ExternType.Smoke
57/96 Test #57: ExternType.Smoke .................   Passed    0.01 sec
      Start 58: TypedFunc.Smoke
58/96 Test #58: TypedFunc.Smoke ..................   Passed    0.01 sec
      Start 59: TypedFunc.Call
59/96 Test #59: TypedFunc.Call ...................   Passed    0.01 sec
      Start 60: TypedFunc.WrapAndTypes
60/96 Test #60: TypedFunc.WrapAndTypes ...........   Passed    0.01 sec
      Start 61: TypedFunc.WrapRuntime
61/96 Test #61: TypedFunc.WrapRuntime ............   Passed    0.01 sec
      Start 62: component.instantiate
62/96 Test #62: component.instantiate ............   Passed    0.01 sec
      Start 63: component.define_module
63/96 Test #63: component.define_module ..........   Passed    0.01 sec
      Start 64: component.lookup_func
64/96 Test #64: component.lookup_func ............   Passed    0.01 sec
      Start 65: component.call_func
65/96 Test #65: component.call_func ..............   Passed    0.01 sec
      Start 66: component.value_record
66/96 Test #66: component.value_record ...........   Passed    0.02 sec
      Start 67: component.value_string
67/96 Test #67: component.value_string ...........   Passed    0.01 sec
      Start 68: component.value_list
68/96 Test #68: component.value_list .............   Passed    0.01 sec
      Start 69: component.value_tuple
69/96 Test #69: component.value_tuple ............   Passed    0.01 sec
      Start 70: component.value_variant
70/96 Test #70: component.value_variant ..........   Passed    0.01 sec
      Start 71: component.value_enum
71/96 Test #71: component.value_enum .............   Passed    0.01 sec
      Start 72: component.value_option
72/96 Test #72: component.value_option ...........   Passed    0.01 sec
      Start 73: component.value_result
73/96 Test #73: component.value_result ...........   Passed    0.01 sec
      Start 74: component.value_flags
74/96 Test #74: component.value_flags ............   Passed    0.01 sec
      Start 75: component.value_list_inner
75/96 Test #75: component.value_list_inner .......   Passed    0.01 sec
      Start 76: Result.Simple
76/96 Test #76: Result.Simple ....................   Passed    0.01 sec
      Start 77: Error.Simple
77/96 Test #77: Error.Simple .....................   Passed    0.01 sec
      Start 78: PoolAllocationConfig.Smoke
78/96 Test #78: PoolAllocationConfig.Smoke .......   Passed    0.01 sec
      Start 79: Config.Smoke
79/96 Test #79: Config.Smoke .....................   Passed    0.01 sec
      Start 80: Config.MemoryCreator
80/96 Test #80: Config.MemoryCreator .............   Passed    0.01 sec
      Start 81: Trap.Smoke
81/96 Test #81: Trap.Smoke .......................   Passed    0.01 sec
      Start 82: Trap.Codes
82/96 Test #82: Trap.Codes .......................   Passed    0.01 sec
      Start 83: WasiConfig.Smoke
83/96 Test #83: WasiConfig.Smoke .................   Passed    0.01 sec
      Start 84: Store.Smoke
84/96 Test #84: Store.Smoke ......................   Passed    0.01 sec
      Start 85: Val.Smoke
85/96 Test #85: Val.Smoke ........................   Passed    0.01 sec

[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Oct 16 2025 at 13:25):

MU-Software edited a comment on PR #11861:

Oh, thanks for the quick reply—and sorry about the omissions. :folded_hands:
Please feel free to review; I’m very new here. :smile:

I added the missing setter functions in 33efd6b and a small use case for a smoke test in b533a96. I also found the doc and ran a test—it seems to work well!

<details>
<summary>Test result</summary>

CTEST_OUTPUT_ON_FAILURE=1 cmake --build examples/build --config Debug --target test
Running tests...
Test project /Users/musoftware/workspace_musoftware/wasmtime/examples/build
      Start  1: anyref-c
 1/96 Test  #1: anyref-c .........................   Passed    0.82 sec
      Start  2: anyref-cpp-c
 2/96 Test  #2: anyref-cpp-c .....................   Passed    0.86 sec
      Start  3: async-c
 3/96 Test  #3: async-c ..........................   Passed    1.84 sec
      Start  4: externref-c
 4/96 Test  #4: externref-c ......................   Passed    1.02 sec
      Start  5: externref-cpp-c
 5/96 Test  #5: externref-cpp-c ..................   Passed    0.82 sec
      Start  6: fib-debug-c
 6/96 Test  #6: fib-debug-c ......................   Passed    0.84 sec
      Start  7: fuel-c
 7/96 Test  #7: fuel-c ...........................   Passed    0.83 sec
      Start  8: fuel-cpp-c
 8/96 Test  #8: fuel-cpp-c .......................   Passed    0.83 sec
      Start  9: gcd-c
 9/96 Test  #9: gcd-c ............................   Passed    0.84 sec
      Start 10: gcd-cpp-c
10/96 Test #10: gcd-cpp-c ........................   Passed    0.80 sec
      Start 11: hello-c
11/96 Test #11: hello-c ..........................   Passed    0.83 sec
      Start 12: hello-cpp-c
12/96 Test #12: hello-cpp-c ......................   Passed    0.86 sec
      Start 13: interrupt-c
13/96 Test #13: interrupt-c ......................   Passed    1.83 sec
      Start 14: interrupt-cpp-c
14/96 Test #14: interrupt-cpp-c ..................   Passed    1.84 sec
      Start 15: linking-c
15/96 Test #15: linking-c ........................   Passed    1.07 sec
      Start 16: linking-cpp-c
16/96 Test #16: linking-cpp-c ....................   Passed    0.82 sec
      Start 17: memory-c
17/96 Test #17: memory-c .........................   Passed    0.84 sec
      Start 18: memory-cpp-c
18/96 Test #18: memory-cpp-c .....................   Passed    0.87 sec
      Start 19: multi-c
19/96 Test #19: multi-c ..........................   Passed    0.82 sec
      Start 20: multi-cpp-c
20/96 Test #20: multi-cpp-c ......................   Passed    0.83 sec
      Start 21: multimemory-c
21/96 Test #21: multimemory-c ....................   Passed    0.83 sec
      Start 22: multimemory-cpp-c
22/96 Test #22: multimemory-cpp-c ................   Passed    0.84 sec
      Start 23: serialize-c
23/96 Test #23: serialize-c ......................   Passed    0.82 sec
      Start 24: serialize-cpp-c
24/96 Test #24: serialize-cpp-c ..................   Passed    0.86 sec
      Start 25: threads-c
25/96 Test #25: threads-c ........................   Passed    1.15 sec
      Start 26: threads-cpp-c
26/96 Test #26: threads-cpp-c ....................   Passed    1.17 sec
      Start 27: wasip1-c
27/96 Test #27: wasip1-c .........................   Passed    0.94 sec
      Start 28: wasip1-cpp-c
28/96 Test #28: wasip1-cpp-c .....................   Passed    1.13 sec
      Start 29: Engine.Smoke
29/96 Test #29: Engine.Smoke .....................   Passed    0.03 sec
      Start 30: Engine.Simple
30/96 Test #30: Engine.Simple ....................   Passed    0.01 sec
      Start 31: wat2wasm.Smoke
31/96 Test #31: wat2wasm.Smoke ...................   Passed    0.01 sec
      Start 32: wat2wasm.Simple
32/96 Test #32: wat2wasm.Simple ..................   Passed    0.01 sec
      Start 33: Module.Smoke
33/96 Test #33: Module.Smoke .....................   Passed    0.02 sec
      Start 34: Module.Serialize
34/96 Test #34: Module.Serialize .................   Passed    0.01 sec
      Start 35: Module.Simple
35/96 Test #35: Module.Simple ....................   Passed    0.01 sec
      Start 36: ExternRef.Smoke
36/96 Test #36: ExternRef.Smoke ..................   Passed    0.01 sec
      Start 37: Caller.Smoke
37/96 Test #37: Caller.Smoke .....................   Passed    0.03 sec
      Start 38: Func.Smoke
38/96 Test #38: Func.Smoke .......................   Passed    0.01 sec
      Start 39: Data.Smoke
39/96 Test #39: Data.Smoke .......................   Passed    0.01 sec
      Start 40: ValType.Smoke
40/96 Test #40: ValType.Smoke ....................   Passed    0.01 sec
      Start 41: ValType.Simple
41/96 Test #41: ValType.Simple ...................   Passed    0.01 sec
      Start 42: MemoryType.Smoke
42/96 Test #42: MemoryType.Smoke .................   Passed    0.01 sec
      Start 43: MemoryType.SixtyFour
43/96 Test #43: MemoryType.SixtyFour .............   Passed    0.01 sec
      Start 44: MemoryType.Simple
44/96 Test #44: MemoryType.Simple ................   Passed    0.01 sec
      Start 45: MemoryType.WithMax
45/96 Test #45: MemoryType.WithMax ...............   Passed    0.01 sec
      Start 46: MemoryType.Mem64
46/96 Test #46: MemoryType.Mem64 .................   Passed    0.01 sec
      Start 47: MemoryType.Builder
47/96 Test #47: MemoryType.Builder ...............   Passed    0.01 sec
      Start 48: TableType.Smoke
48/96 Test #48: TableType.Smoke ..................   Passed    0.01 sec
      Start 49: TableType.Simple
49/96 Test #49: TableType.Simple .................   Passed    0.01 sec
      Start 50: GlobalType.Smoke
50/96 Test #50: GlobalType.Smoke .................   Passed    0.01 sec
      Start 51: GlobalType.Simple
51/96 Test #51: GlobalType.Simple ................   Passed    0.01 sec
      Start 52: ModuleType.Smoke
52/96 Test #52: ModuleType.Smoke .................   Passed    0.01 sec
      Start 53: ValKind.String
53/96 Test #53: ValKind.String ...................   Passed    0.01 sec
      Start 54: FuncType.Smoke
54/96 Test #54: FuncType.Smoke ...................   Passed    0.01 sec
      Start 55: ImportType.Smoke
55/96 Test #55: ImportType.Smoke .................   Passed    0.01 sec
      Start 56: ExportType.Smoke
56/96 Test #56: ExportType.Smoke .................   Passed    0.01 sec
      Start 57: ExternType.Smoke
57/96 Test #57: ExternType.Smoke .................   Passed    0.01 sec
      Start 58: TypedFunc.Smoke
58/96 Test #58: TypedFunc.Smoke ..................   Passed    0.01 sec
      Start 59: TypedFunc.Call
59/96 Test #59: TypedFunc.Call ...................   Passed    0.01 sec
      Start 60: TypedFunc.WrapAndTypes
60/96 Test #60: TypedFunc.WrapAndTypes ...........   Passed    0.01 sec
      Start 61: TypedFunc.WrapRuntime
61/96 Test #61: TypedFunc.WrapRuntime ............   Passed    0.01 sec
      Start 62: component.instantiate
62/96 Test #62: component.instantiate ............   Passed    0.01 sec
      Start 63: component.define_module
63/96 Test #63: component.define_module ..........   Passed    0.01 sec
      Start 64: component.lookup_func
64/96 Test #64: component.lookup_func ............   Passed    0.01 sec
      Start 65: component.call_func
65/96 Test #65: component.call_func ..............   Passed    0.01 sec
      Start 66: component.value_record
66/96 Test #66: component.value_record ...........   Passed    0.02 sec
      Start 67: component.value_string
67/96 Test #67: component.value_string ...........   Passed    0.01 sec
      Start 68: component.value_list
68/96 Test #68: component.value_list .............   Passed    0.01 sec
      Start 69: component.value_tuple
69/96 Test #69: component.value_tuple ............   Passed    0.01 sec
      Start 70: component.value_variant
70/96 Test #70: component.value_variant ..........   Passed    0.01 sec
      Start 71: component.value_enum
71/96 Test #71: component.value_enum .............   Passed    0.01 sec
      Start 72: component.value_option
72/96 Test #72: component.value_option ...........   Passed    0.01 sec
      Start 73: component.value_result
73/96 Test #73: component.value_result ...........   Passed    0.01 sec
      Start 74: component.value_flags
74/96 Test #74: component.value_flags ............   Passed    0.01 sec
      Start 75: component.value_list_inner
75/96 Test #75: component.value_list_inner .......   Passed    0.01 sec
      Start 76: Result.Simple
76/96 Test #76: Result.Simple ....................   Passed    0.01 sec
      Start 77: Error.Simple
77/96 Test #77: Error.Simple .....................   Passed    0.01 sec
      Start 78: PoolAllocationConfig.Smoke
78/96 Test #78: PoolAllocationConfig.Smoke .......   Passed    0.01 sec
      Start 79: Config.Smoke
79/96 Test #79: Config.Smoke .....................   Passed    0.01 sec
      Start 80: Config.MemoryCreator
80/96 Test #80: Config.MemoryCreator .............   Passed    0.01 sec
      Start 81: Trap.Smoke
81/96 Test #81: Trap.Smoke .......................   Passed    0.01 sec
      Start 82: Trap.Codes
82/96 Test #82: Trap.Codes .......................   Passed    0.01 sec
      Start 83: WasiConfig.Smoke
83/96 Test #83: WasiConfig.Smoke .................   Passed    0.01 sec
      Start 84: Store.Smoke
84/96 Test #84: Store.Smoke ......................   Passed    0.01 sec
      Start 85: Val.Smoke
85/96 Test #85: Val.Smoke ........................   Passed    0.01 sec

[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Oct 16 2025 at 14:17):

alexcrichton submitted PR review:

No worries, and this all looks great, thanks!

view this post on Zulip Wasmtime GitHub notifications bot (Oct 16 2025 at 14:45):

alexcrichton merged PR #11861.


Last updated: Dec 06 2025 at 07:03 UTC