<?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 types.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>1b59b579 - Add support for map type (#12216)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#1b59b579</link>
        <description>Add support for map type (#12216)* Add support for map typeSigned-off-by: Yordis Prieto &lt;yordis.prieto@gmail.com&gt;* Add Map and MapEntry classes to support key/value pairs in component modelThis commit introduces the Map and MapEntry classes, enabling the representation of map values in the component model. The Map class allows for the creation and iteration of key/value pairs, enhancing the functionality of the wasmtime component API. Additionally, the .gitignore file is updated to exclude build artifacts from the crates/c-api directory.* Add wasm_component_model_map configuration support* Format code* Format C code* Enhance component model to support HashMap&lt;K, V&gt; typeThis commit introduces support for HashMap&lt;K, V&gt; in the component model, allowing maps to be represented as list&lt;tuple&lt;K, V&gt;&gt; in the canonical ABI. It includes implementations for the ComponentType, Lower, and Lift traits for HashMap, enabling type checking, lowering to flat representations, and lifting from memory. Additionally, the maximum depth for type generation in the fuzzing utility is updated to accommodate the new map type.* Refactor component configuration to introduce map supportThis commit removes the previous wasm features configuration and adds new functions for creating a map-configured engine. The `map_config` and `map_engine` functions are introduced to facilitate the use of the component model with maps in tests, ensuring that the engine is properly configured for map types in the component model.* Add new WAST test for map types and remove map type definitions from existing testsThis commit introduces a new WAST test file specifically for testing various map types in the component model. Additionally, it removes the redundant map type definitions from the existing types.wast file to streamline the test suite.* Update component fuzzing and dynamic tests to replace call_and_post_return with call* Format code* Refactor HashMap usage in typed.rs to use wasmtime_environ collections* Fix HashMap initialization and insertion to handle potential errors in typed.rs* Refactor HashMap handling in typed.rs to use lower_map_iter for improved iteration and memory management. Introduce new implementations for ComponentType, Lower, and Lift traits for std::collections::HashMap, enhancing support for map types in the component model.* Fix map adapter trampoline compilation and alignment bugsThe translate_map function had two categories of bugs preventing mapadapter trampolines from working:1. Wasm stack discipline: local_set_new_tmp emits LocalSet which pops   from the stack, but was called when the stack was empty (to   &quot;pre-allocate&quot; locals). Fixed by computing values first, then   calling local_set_new_tmp to consume them&#8212;matching translate_list&apos;s   pattern. Also removed an erroneous LocalTee that left an orphan   value on the stack. Affected: src_byte_len, dst_byte_len,   cur_src_ptr, cur_dst_ptr.2. Pointer advancement: after value translation, the pointer still   points at the value start. The code only advanced by trailing   padding instead of value_size + trailing_padding, causing every   loop iteration to re-read the same memory.Also fixes entry layout to use proper record alignment rules (entryalign = max(key_align, value_align), value at aligned offset).* Refactor map entry layout calculations to use canonical ABI* Remove unnecessary clone of map pairs during loweringVal::Map already holds Vec&lt;(Val, Val)&gt; which derefs to &amp;[(Val, Val)],matching lower_map&apos;s signature directly. The intermediate Vec allocationand deep clone of every key/value pair was redundant.* Deduplicate map lift logic between HashMap implementations* Deduplicate list and map sequence translation scaffolding* Fix cargo fmt formatting issues* Deduplicate map typecheck logic* Deduplicate map lowering with linear_lower_map_to_flat and linear_lower_map_to_memory helpers* Clean up lift_try_map: use drop, move TryHashMap import to module scope* Fix CI: arbtest overflow and no-std HashMap lift_map- component_fuzz: use saturating_sub in generate_hashable_key to prevent  underflow when fuel is 0 and Enum variant is chosen- typed: remove incorrect ? operators in lift_map for hashbrown::HashMap  (with_capacity and insert don&apos;t return Result)* Store map tuple layout in TypeMapCompute map entry ABI and value offsets once during type building, and reuse that metadata in runtime map lift/lower paths instead of recalculating tuple layout at each call site.* Refactor map ABI argument passingBundle map lift/lower layout and type metadata into a small MapAbi32 helper so map helper calls stay concise without changing behavior.* Fix CI: enable component_model_map in fuzzing and handle map in arbitrary_valThe fuzzer&apos;s component_api oracle was generating map types but the enginedidn&apos;t have the map feature enabled, and arbitrary_val had no arm forType::Map. Enable component_model_map in the store helper (matching howcomponent_model_async is forced on) and implement arbitrary value generationfor map types.---------Signed-off-by: Yordis Prieto &lt;yordis.prieto@gmail.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Mon, 09 Mar 2026 23:34:21 +0000</pubDate>
        <dc:creator>Yordis Prieto &lt;yordis.prieto@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ce09e2ac - fix(bindgen): futures and stream are not `Clone` (#12155)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#ce09e2ac</link>
        <description>fix(bindgen): futures and stream are not `Clone` (#12155)Signed-off-by: Roman Volosatovs &lt;rvolosatovs@riseup.net&gt;

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Fri, 13 Feb 2026 16:30:50 +0000</pubDate>
        <dc:creator>Roman Volosatovs &lt;rvolosatovs@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>d2fbd2de - Update to wasm-tools 245 (#12571)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#d2fbd2de</link>
        <description>Update to wasm-tools 245 (#12571)* Intrinsics updates* Remove ds_store* Update to wasm-tools 245* Add vets* Fixup tests* Add missing feature for `indexmap`---------Co-authored-by: Sy Brand &lt;sy.brand@fastly.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Thu, 12 Feb 2026 15:38:22 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>e63dd69f - Update wasm-tools dependencies (#12254)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#e63dd69f</link>
        <description>Update wasm-tools dependencies (#12254)* Update wasm-tools dependenciesBrings in binary-parsing support for the WIT `map` type as well as thewasm compact-imports proposal. Neither of these are enabled by defaultand will continue to be rejected, but it&apos;ll now be possible to supportthem without needing to update dependencies.* Add vets* Update test expectations, add testsCloses #12166

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Wed, 07 Jan 2026 18:44:38 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>e682be4e - Update wasm-tools crates (#10731)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#e682be4e</link>
        <description>Update wasm-tools crates (#10731)* Update wasm-tools cratesMinor API changes, mostly just stubbing out support forfixed-size-lists.* Update vets* Update some test expectations

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Mon, 05 May 2025 20:47:11 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>b8e3fbe9 - Update wasm-tools to the latest revision (#10314)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#b8e3fbe9</link>
        <description>Update wasm-tools to the latest revision (#10314)* Update wasm-tools to the latest revision* Update component async bits for new intrinsics* Ignore options for now* I truly, and fundamentally, do not understand `cargo vet`* Fix a test

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Wed, 05 Mar 2025 22:32:54 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>287e8fb5 - Update wasm-tools crates to 226 (#10235)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#287e8fb5</link>
        <description>Update wasm-tools crates to 226 (#10235)* Update wasm-tools crates to 226This commit updates the wasm-tools crates to the 226 track of versions.The most notable change here is the removal and refactoring withinwasm-tools of support for multiple and named returns in the componentmodel along with the support for 33+ flags in the `flags` type. This hasbeen gated for some time now and it&apos;s just now being removed now thatit&apos;s been awhile an no issues have been raised.prtest:full* Fix some issues from CI* Fix benchmarks* Switch to crates.io-based crates

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Wed, 19 Feb 2025 20:38:07 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>636435f1 - async/stream/future support for wasmtime-wit-bindgen (#10044)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#636435f1</link>
        <description>async/stream/future support for wasmtime-wit-bindgen (#10044)* async/stream/future support for wasmtime-wit-bindgenI&apos;ve split this out of #9582 to make review easier.This patch adds async/stream/future/error-context support to the host bindinggenerator, along with placeholder type and function definitions in the`wasmtime` crate which the generated bindings can refer to.  Seehttps://github.com/dicej/rfcs/blob/component-async/accepted/component-model-async.md#componentbindgen-updatesfor the design and rationale.Note that I&apos;ve added temporary `[patch.crates-io]` overrides in Cargo.toml untilhttps://github.com/bytecodealliance/wit-bindgen/pull/1130 andhttps://github.com/bytecodealliance/wasm-tools/pull/1978 have been released.Also note that we emit a `T: &apos;static` bound for `AsContextMut&lt;Data = T&gt;` whengenerating bindings with `concurrent_imports: true`.  This is only because`rustc` insists that the closure we&apos;re passing to`LinkerInstance::func_wrap_concurrent` captures the lifetime of `T` despite mybest efforts to convince it otherwise.  Alex and I suspect this is a limitationin the compiler, and I asked about it on the rust-lang Zulip, but we haven&apos;tbeen able to determine a workaround so far.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;remove obsolete TODO commentSigned-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;make `futures` dep optionalSigned-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;update `wasm-tools` and `wit-bindgen`Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* run cargo vetSigned-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;---------Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Wed, 22 Jan 2025 17:19:46 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>4c5f250f - Update wasm-tools crates (#9952)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#4c5f250f</link>
        <description>Update wasm-tools crates (#9952)* Update wasm-tools cratesPull in recent updates and denying memory64 support in components duringvalidation.* Fix renamings in wave* Fix some bindgen tests

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Wed, 08 Jan 2025 22:16:39 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>38bc9151 - Update the wasm-tools family of crates to 0.209.1 (#8709)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#38bc9151</link>
        <description>Update the wasm-tools family of crates to 0.209.1 (#8709)Fixes https://github.com/bytecodealliance/wasmtime/issues/8704

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Wed, 29 May 2024 21:11:36 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b96a9f4f - Fix generating bindings for dead code (#8065)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#b96a9f4f</link>
        <description>Fix generating bindings for dead code (#8065)This commit fixes a bindgen problem where dead types, which had nogenerated bindings, could be referred to from other dead types, whichdid have generated bindings. The fix is to not generate code for deadtypes at all by fixing how type information is analyzed.

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Thu, 14 Mar 2024 19:46:21 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>878a243a - Host resources wit-bindgen code generation (#6886)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#878a243a</link>
        <description>Host resources wit-bindgen code generation (#6886)* added trap to resource dtor* basic resources* fixed signature and trait bounds* fixed static function* fixed trait signature* basic resources* added result to resource drop* reverted formatting* added doc comment to resource `dtor`* fixed merge issue* fixed another merge issue* added resource import codegen test* Revert changes to `Cargo.lock`* Update `Cargo.lock` with the wit-bindgen update* Add `cargo vet` entries for new crates* Restore old-style of printing types in bindgenAvoid collecting resources-as-we-go in favor of doing that moredeclaratively elsewhere. Additionally handle imported-vs-exportedresource via the order that interfaces are visited.* Update the shape of resource traits:* Use `&amp;mut self` instead of `StoreContextMut`* Make resource traits as supertraits of the `Host` trait generated for  each resource.* More uniformly handle types/returns with resource methods.* Fix derivations of `Clone` and `Copy` for where handles are contained.* Fix generation of handle typedefs* Support resources-in-worlds* Remove now-duplicate functionThis is now the same as the preexisting `generate_function_trait_sig`* Fix classifying handles as imported or exportedThis determination happens by looking up the origin definition of aresource, not the leaf possibly-aliased type.* Fix chains-of-use of resourcesResources don&apos;t have their representation asserted since the bare typeitself doesn&apos;t implement `ComponentType`, but otherwise generate typealiases the same way as other type aliases.* Revert `Cargo.lock` changesNo need to update `wit-bindgen` to 0.10.0 just yet, that&apos;ll happen in afuture update if necessary.* Add basic runtime tests for resources* fixed merge issue---------Co-authored-by: Alex Crichton &lt;alex@alexcrichton.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Wed, 30 Aug 2023 03:14:02 +0000</pubDate>
        <dc:creator>Timmy Silesmo &lt;silesmo@nor2.io&gt;</dc:creator>
    </item>
<item>
        <title>35902366 - Remove component union types (#6913)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#35902366</link>
        <description>Remove component union types (#6913)- Bump wasm-tools deps- Use new TypeSectionReader::into_iter_err_on_gc_types method

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Sat, 26 Aug 2023 19:51:23 +0000</pubDate>
        <dc:creator>Lann &lt;lann.martin@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>80e68c33 - Update the wasm-tools family of crates (#6710)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#80e68c33</link>
        <description>Update the wasm-tools family of crates (#6710)* Update wasm-tools dependencies* Get tests passing after wasm-tools updateMostly dealing with updates to `wasmparser`&apos;s API.* Update `cargo vet` for new crates* Add `equivalent`, `hashbrown`, and `quote` to the list of trusted  authors. We already trust these authors for other crates.* Pull in some upstream audits for various deps.* I&apos;ve audited the `pulldown-cmark` dependency upgrade myself.

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Tue, 11 Jul 2023 16:48:22 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>537214fd - [wit-bindgen] provide more control over type ownership (#6648)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#537214fd</link>
        <description>[wit-bindgen] provide more control over type ownership (#6648)* [wit-bindgen] provide more control over type ownershipThis replaces the `duplicate_if_necessary` parameter to`wasmtime::component::bindgen` with a new `ownership` parameter which providesfiner-grained control over whether and how generated types own their fields.The default is `Ownership::Owning`, which means types own their fieldsregardless of how they are used in functions.  These types passed by referencewhen used as parameters to guest-exported functions.  Note that this alsoaffects how unnamed types (e.g. `list&lt;list&lt;string&gt;&gt;`) are passed: using areference only at the top level (e.g. `&amp;[Vec&lt;String&gt;]` instead of `&amp;[&amp;[&amp;str]]`,which is more difficult to construct when using non-`&apos;static` data).The other option is `Ownership::Borrowing`, which includes a`duplicate_if_necessary` field, providing the same code generation strategy aswas used prior to this change.If we&apos;re happy with this approach, I&apos;ll open another PR in the `wit-bindgen`repo to match.This also fixes a bug that caused named types to be considered owned and/orborrowed when they shouldn&apos;t have been due to having fields with unnamed typeswhich were owned and/or borrowed in unrelated interfaces.Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;* fix test breakageSigned-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;---------Signed-off-by: Joel Dice &lt;joel.dice@fermyon.com&gt;

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Tue, 27 Jun 2023 18:12:26 +0000</pubDate>
        <dc:creator>Joel Dice &lt;joel.dice@fermyon.com&gt;</dc:creator>
    </item>
<item>
        <title>a729a2a6 - error types: resolve type definition id by chasing alias ids (#6373)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#a729a2a6</link>
        <description>error types: resolve type definition id by chasing alias ids (#6373)

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Fri, 12 May 2023 17:34:13 +0000</pubDate>
        <dc:creator>Pat Hickey &lt;phickey@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>85118c8c - Add clippy suggestions (#6203)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#85118c8c</link>
        <description>Add clippy suggestions (#6203)* add clippy suggestions* revert &amp;/ref change* Update cranelift/isle/isle/src/parser.rsCo-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;---------Co-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Mon, 17 Apr 2023 15:53:34 +0000</pubDate>
        <dc:creator>kevaundray &lt;kevtheappdev@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a2a0a9ef - Update to the latest `wit-parser` (#5694)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#a2a0a9ef</link>
        <description>Update to the latest `wit-parser` (#5694)This notably pulls in support in WIT for types-in-worlds.

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Thu, 02 Feb 2023 19:21:01 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>545749b2 - Fix some wit-bindgen-related issues with generated bindings (#5692)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#545749b2</link>
        <description>Fix some wit-bindgen-related issues with generated bindings (#5692)* Prefix component-bindgen-generated-functions with `call_`This fixes clashes between Rust-native methods and the methodsthemselves. For example right now `new` is a Rust-generated function forconstructing the wrapper but this can conflict with a world-exportedfunction called `new`.Closes #5585* Fix types being both shared and ownedThis refactors some inherited cruft from the original `wit-bindgen`repository to be more Wasmtime-specific and fixes a codegen case wherea type was used in both a shared and an owned context.Closes #5688

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Thu, 02 Feb 2023 17:54:35 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>293005bd - Fix calculation of param/result types in wit-bindgen (#5622)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/crates/wit-bindgen/src/types.rs#293005bd</link>
        <description>Fix calculation of param/result types in wit-bindgen (#5622)This commit fixes a bug in the `bindgen!` macro for components wherepreviously the `param` and `result` properties weren&apos;t properlycalculated depending on the structure of the type and which types werevisited in which order. This is simplified to use a `LiveTypes`structure from the `wit-parser` crate and relies on that to do necessaryrecursion.

            List of files:
            /wasmtime-44.0.1/crates/wit-bindgen/src/types.rs</description>
        <pubDate>Mon, 23 Jan 2023 19:05:53 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
</channel>
</rss>
