<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in vec.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>4f2fa154 - Update nightly Rust used in CI (#11755)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#4f2fa154</link>
        <description>Update nightly Rust used in CI (#11755)* Update nightly Rust used in CIKeeping it up-to-dateprtest:full* Fix unused warnings on nightly* Rename rustdoc feature* Adjust some removals

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Mon, 29 Sep 2025 18:12:14 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>9a26c101 - c-api: component-model: Flags type (#10873)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#9a26c101</link>
        <description>c-api: component-model: Flags type (#10873)* c-api: component-model: Flags type* Hand make `wasm_name_t::default()` implementation

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Fri, 30 May 2025 21:34:36 +0000</pubDate>
        <dc:creator>MangoPeachGrape &lt;191630121+MangoPeachGrape@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>b2c64de1 - c-api: component-model: Values and function calling (#10697)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#b2c64de1</link>
        <description>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()` functionsLater we can provide implementations that take it as a value to avoidcopying* Define host functions* `wasmtime_component_valrecord_new()`* Use `u32` instead of `char` as its not ffi safe* Test records and strings in c-api -&gt; vm -&gt; host func -&gt; vm -&gt; 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&apos;s the charm* Fourth time&apos;s the charm prtest:full* Doxygen file headers* Fix other missing documentation* Small fix to docs

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Fri, 23 May 2025 14:05:50 +0000</pubDate>
        <dc:creator>MangoPeachGrape &lt;191630121+MangoPeachGrape@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>ae84e6ed - Enable `unsafe-attr-outside-unsafe` 2024 edition lint (#9964)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#ae84e6ed</link>
        <description>Enable `unsafe-attr-outside-unsafe` 2024 edition lint (#9964)* Enable `unsafe-attr-outside-unsafe` 2024 edition lintThis commit enables the `unsafe-attr-outside-unsafe` lint in rustc usedin transitioning to the 2024 edition. This requires that the`#[no_mangle]` attribute is replaced in favor of `#[unsafe(no_mangle)]`.This mostly affects the C API of wasmtime and most of the changes hereare a simple search/replace.* Another attribute update* Fix command adapter build

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 09 Jan 2025 21:05:55 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>2afaac51 - Return `anyhow::Error` from host functions instead of `Trap`, redesign `Trap` (#5149)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#2afaac51</link>
        <description>Return `anyhow::Error` from host functions instead of `Trap`, redesign `Trap` (#5149)* Return `anyhow::Error` from host functions instead of `Trap`This commit refactors how errors are modeled when returned from hostfunctions and additionally refactors how custom errors work with `Trap`.At a high level functions in Wasmtime that previously worked with`Result&lt;T, Trap&gt;` now work with `Result&lt;T&gt;` instead where the error is`anyhow::Error`. This includes functions such as:* Host-defined functions in a `Linker&lt;T&gt;`* `TypedFunc::call`* Host-related callbacks like call hooksErrors are now modeled primarily as `anyhow::Error` throughout Wasmtime.This subsequently removes the need for `Trap` to have the ability torepresent all host-defined errors as it previously did. Consequently the`From` implementations for any error into a `Trap` have been removedhere and the only embedder-defined way to create a `Trap` is to use`Trap::new` with a custom string.After this commit the distinction between a `Trap` and a host error isthe wasm backtrace that it contains. Previously all errors in hostfunctions would flow through a `Trap` and get a wasm backtrace attachedto them, but now this only happens if a `Trap` itself is created meaningthat arbitrary host-defined errors flowing from a host import to theother side won&apos;t get backtraces attached. Some internals of Wasmtimeitself were updated or preserved to use `Trap::new` to capture abacktrace where it seemed useful, such as when fuel runs out.The main motivation for this commit is that it now enables hosts tothread a concrete error type from a host function all the way through towhere a wasm function was invoked. Previously this could not be donesince the host error was wrapped in a `Trap` that didn&apos;t provide theability to get at the internals.A consequence of this commit is that when a host error is returned thatisn&apos;t a `Trap` we&apos;ll capture a backtrace and then won&apos;t have a `Trap` toattach it to. To avoid losing the contextual information this commituses the `Error::context` method to attach the backtrace as contextualinformation to ensure that the backtrace is itself not lost.This is a breaking change for likely all users of Wasmtime, but it&apos;shoped to be a relatively minor change to workaround. Most use cases canlikely change `-&gt; Result&lt;T, Trap&gt;` to `-&gt; Result&lt;T&gt;` and otherwiseexplicit creation of a `Trap` is largely no longer necessary.* Fix some doc links* add some tests and make a backtrace type public (#55)* Trap: avoid a trailing newline in the Display implwhich in turn ends up with three newlines between the end of thebacktrace and the `Caused by` in the anyhow Debug impl* make BacktraceContext pub, and add tests showing downcasting behavior of anyhow::Error to traps or backtraces* Remove now-unnecesary `Trap` downcasts in `Linker::module`* Fix test output expectations* Remove `Trap::i32_exit`This commit removes special-handling in the `wasmtime::Trap` type forthe i32 exit code required by WASI. This is now instead modeled as aspecific `I32Exit` error type in the `wasmtime-wasi` crate which isreturned by the `proc_exit` hostcall. Embedders which previously testedfor i32 exits now downcast to the `I32Exit` value.* Remove the `Trap::new` constructorThis commit removes the ability to create a trap with an arbitrary errormessage. The purpose of this commit is to continue the prior trend ofleaning into the `anyhow::Error` type instead of trying to recreate itwith `Trap`. A subsequent simplification to `Trap` after this commit isthat `Trap` will simply be an `enum` of trap codes with no extrainformation. This commit is doubly-motivated by the desire to always usethe new `BacktraceContext` type instead of sometimes using that andsometimes using `Trap`.Most of the changes here were around updating `Trap::new` calls to`bail!` calls instead. Tests which assert particular error messagesadditionally often needed to use the `:?` formatter instead of the `{}`formatter because the prior formats the whole `anyhow::Error` and thelatter only formats the top-most error, which now contains thebacktrace.* Merge `Trap` and `TrapCode`With prior refactorings there&apos;s no more need for `Trap` to be opaque orotherwise contain a backtrace. This commit parse down `Trap` to simplyan `enum` which was the old `TrapCode`. All various tests and such wereupdated to handle this.The main consequence of this commit is that all errors have a`BacktraceContext` context attached to them. This unfortunately meansthat the backtrace is printed first before the error message or trapcode, but given all the prior simplifications that seems worth it atthis time.* Rename `BacktraceContext` to `WasmBacktrace`This feels like a better name given how this has turned out, andadditionally this commit removes having both `WasmBacktrace` and`BacktraceContext`.* Soup up documentation for errors and traps* Fix build of the C APICo-authored-by: Pat Hickey &lt;pat@moreproductive.org&gt;

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Wed, 02 Nov 2022 16:29:31 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>ce67e7fc - Fix ownership in *_vec_new functions in the C API</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#ce67e7fc</link>
        <description>Fix ownership in *_vec_new functions in the C APIThese functions are specified to take ownership of the objects in thegiven slice, not clone them.

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 02 Dec 2021 11:53:04 +0000</pubDate>
        <dc:creator>Amanieu d&apos;Antras &lt;amanieu@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6d61c157 - Add a proper implementation of Clone for C API vector types</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#6d61c157</link>
        <description>Add a proper implementation of Clone for C API vector typesThe previous implementation used a shallow copy, which is incorrect andcould lead to a use-after-free.

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 02 Dec 2021 11:51:02 +0000</pubDate>
        <dc:creator>Amanieu d&apos;Antras &lt;amanieu@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7a1b7cdf - Implement RFC 11: Redesigning Wasmtime&apos;s APIs (#2897)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#7a1b7cdf</link>
        <description>Implement RFC 11: Redesigning Wasmtime&apos;s APIs (#2897)Implement Wasmtime&apos;s new API as designed by RFC 11. This is quite a large commit which has had lots of discussion externally, so for more information it&apos;s best to read the RFC thread and the PR thread.

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 03 Jun 2021 14:10:53 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>f94db655 - Update WebAssembly C API submodule to latest commit. (#2579)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#f94db655</link>
        <description>Update WebAssembly C API submodule to latest commit. (#2579)* Update WebAssembly C API submodule to latest commit.This commit updates the WebAssembly C API submodule (for `wasm.h`) to thelatest commit out of master.This fixes the behavior of `wasm_name_new_from_string` such that it no longercopies the null character into the name, which caused unexpected failures whenusing the Wasmtime linker as imports wouldn&apos;t resolve when the null waspresent.Along with this change were breaking changes to `wasm_func_call`, the hostcallback signatures, and `wasm_instance_new` to take a vector type instead of apointer to an unsized array.As a result, Wasmtime language bindings based on the C API will need to beupdated once this change is pulled in.Fixes #2211.Fixes #2131.* Update Doxygen comments for wasm.h changes.

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 14 Jan 2021 15:36:12 +0000</pubDate>
        <dc:creator>Peter Huene &lt;peter@huene.dev&gt;</dc:creator>
    </item>
<item>
        <title>41caf67a - Update the C API with module linking support (#2472)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#41caf67a</link>
        <description>Update the C API with module linking support (#2472)* Update the C API with module linking supportThis commit does everything necessary (ideally) to support the modulelinking proposal in the C API. The changes here are:* New `wasm_{module,instance}type_t` types and accessors* New `wasm_{module,instance}_type` functions* Conversions between `wasm_extern_t` and `wasm_{instance,module}_t`, as  well as `wasm_externtype_t` and the new types.* Addition of `WASM_EXTERN_{MODULE,INSTANCE}` constants* New `wasm_config_t` modifier to enable/disable module linkingWith these functions it should be possible to pass instances/modules toinstances and also acquire them from exports. Altogether this shouldenable everything for module linking.An important point for this is that I&apos;ve opted to add all these itemsunder the `wasm_*` name prefix instead of `wasmtime_*`. I&apos;ve done thissince they&apos;re all following the idioms of existing APIs and while notstandard the intention would be to standardize them (unlike many otherWasmtime-specific APIs).cc #2094* Appease doxygen

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 03 Dec 2020 21:51:38 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>036c8ec8 - Fix assertion about length/capacity in C API (#1736)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#036c8ec8</link>
        <description>Fix assertion about length/capacity in C API (#1736)I recently saw some [errors] crop up in wasmtime-go&apos;s CI, so let&apos;s besure to convert to `Box&lt;[T]&gt;` which guarantees the length/capacity ofthe vector are equal.[errors]: https://github.com/bytecodealliance/wasmtime-go/runs/694744570

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 21 May 2020 20:06:30 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>9364eb1d - Refactor (#1524)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#9364eb1d</link>
        <description>Refactor (#1524)* Compute instance exports on demand.Instead having instances eagerly compute a Vec of Externs, and bumpingthe refcount for each Extern, compute Externs on demand.This also enables `Instance::get_export` to avoid doing a linear search.This also means that the closure returned by `get0` and friends nowholds an `InstanceHandle` to dynamically hold the instance live ratherthan being scoped to a lifetime.* Compute module imports and exports on demand too.And compute Extern::ty on demand too.* Add a utility function for computing an ExternType.* Add a utility function for looking up a function&apos;s signature.* Add a utility function for computing the ValType of a Global.* Rename wasmtime_environ::Export to EntityIndex.This helps differentiate it from other Export types in the tree, anddescribes what it is.* Fix a typo in a comment.* Simplify module imports and exports.* Make `Instance::exports` return the export names.This significantly simplifies the public API, as it&apos;s relatively commonto need the names, and this avoids the need to do a zip with`Module::exports`.This also changes `ImportType` and `ExportType` to have public membersinstead of private members and accessors, as I find that simplifies theusage particularly in cases where there are temporary instances.* Remove `Instance::module`.This doesn&apos;t quite remove `Instance`&apos;s `module` member, it gets a stepcloser.* Use a InstanceHandle utility function.* Don&apos;t consume self in the `Func::get*` methods.Instead, just create a closure containing the instance handle and theexport for them to call.* Use `ExactSizeIterator` to avoid needing separate `num_*` methods.* Rename `Extern::func()` etc. to `into_func()` etc.* Revise examples to avoid using `nth`.* Add convenience methods to instance for getting specific extern types.* Use the convenience functions in more tests and examples.* Avoid cloning strings for `ImportType` and `ExportType`.* Remove more obviated clone() calls.* Simplify `Func`&apos;s closure state.* Make wasmtime::Export&apos;s fields private.This makes them more consistent with ExportType.* Fix compilation error.* Make a lifetime parameter explicit, and use better lifetime names.Instead of &apos;me, use &apos;instance and &apos;module to make it clear what thelifetime is.* More lifetime cleanups.

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Mon, 20 Apr 2020 20:55:33 +0000</pubDate>
        <dc:creator>Dan Gohman &lt;sunfish@mozilla.com&gt;</dc:creator>
    </item>
<item>
        <title>0aa94652 - wasmtime-c-api: Don&apos;t create slices with null pointers (#1492)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#0aa94652</link>
        <description>wasmtime-c-api: Don&apos;t create slices with null pointers (#1492)It&apos;s a common idiom to pass in `NULL` for slices of zero-length in the CAPI, but it&apos;s not safe to create a Rust `&amp;[T]` slice with this `NULL`pointer. Special-case this in the `as_slice()` method of incomingvectors to return an empty slice so we don&apos;t violate Rust&apos;s invariants.

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Thu, 09 Apr 2020 20:33:32 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>6ef09359 - Refactor and fill out wasmtime&apos;s C API (#1415)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/c-api/src/vec.rs#6ef09359</link>
        <description>Refactor and fill out wasmtime&apos;s C API (#1415)* Refactor and improve safety of C APIThis commit is intended to be a relatively large refactoring of the CAPI which is targeted at improving the safety of our C API definitions.Not all of the APIs have been updated yet but this is intended to be thestart.The goal here is to make as many functions safe as we can, expressinginputs/outputs as native Rust types rather than raw pointers whereverpossible. For example instead of `*const wasm_foo_t` we&apos;d take`&amp;wasm_foo_t`. Instead of returning `*mut wasm_foo_t` we&apos;d return`Box&lt;wasm_foo_t&gt;`. No ABI/API changes are intended from this commit,it&apos;s supposed to only change how we define all these functionsinternally.This commit also additionally implements a few more API bindings forexposed vector types by unifying everything into one macro.Finally, this commit moves many internal caches in the C API to the`OnceCell` type which provides a safe interface for one-timeinitialization.* Split apart monolithic C API `lib.rs`This commit splits the monolithic `src/lib.rs` in the C API crate intolots of smaller files. The goal here is to make this a bit more readableand digestable. Each module now contains only API bindings for aparticular type, roughly organized around the grouping in the wasm.hheader file already.A few more extensions were added, such as filling out `*_as_*`conversions with both const and non-const versions. Additionally manyAPIs were made safer in the same style as the previous commit, generallypreferring Rust types rather than raw pointer types.Overall no functional change is intended here, it should be mostly justcode movement and minor refactorings!* Make a few wasi C bindings saferUse safe Rust types where we can and touch up a few APIs here and there.* Implement `wasm_*type_as_externtype*` APIsThis commit restructures `wasm_externtype_t` to be similar to`wasm_extern_t` so type conversion between the `*_extern_*` variants tothe concrete variants are all simple casts. (checked in the case ofgeneral to concrete, of course).* Consistently imlpement host info functions in the APIThis commit adds a small macro crate which is then used to consistentlydefine the various host-info-related functions in the C API. The goalhere is to try to mirror what the `wasm.h` header provides to provide afull implementation of the header.

            List of files:
            /wasmtime-44.0.1/crates/c-api/src/vec.rs</description>
        <pubDate>Fri, 27 Mar 2020 14:50:32 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
