-
Notifications
You must be signed in to change notification settings - Fork 275
Comparing changes
Open a pull request
base repository: bytecodealliance/wit-bindgen
base: v0.52.0
head repository: bytecodealliance/wit-bindgen
compare: v0.53.0
- 11 commits
- 41 files changed
- 7 contributors
Commits on Feb 4, 2026
-
Update to wasi-sdk-30 in CI (#1522)
Keeping it up-to-date and also testing it
Configuration menu - View commit details
-
Copy full SHA for 76e9f08 - Browse repository at this point
Copy the full SHA 76e9f08View commit details
Commits on Feb 9, 2026
-
wit-bindgen: Prevent conflicting StreamPayload/FuturePayload implemen…
…tations (#1482) WIT 'use' statements are represented as Type::Id(_) Types in this codebase, and get translated to Rust type aliases in the generated Rust bindings. Since these aliases may be located at different module paths, creating a StreamPayload or FuturePayload implementation for more than one of these paths will cause the Rust compiler to complain about conflicting trait implementations for the same type. This commit solves this issue by dealiasing payload types of the form Type::Id(_) when generating a key for the future_payloads and stream_payloads maps. This means each alias set will have at most one implementation of these traits. Fixes issue 1432
Configuration menu - View commit details
-
Copy full SHA for 105bf6c - Browse repository at this point
Copy the full SHA 105bf6cView commit details
Commits on Feb 10, 2026
-
Prepare for wasm-tools 0.245 (#1521)
* Prepare for wasm-tools 0.245 * adapt to an even newer version of wasm-tools * adapt to new Parameter type * Update to crates.io-based versions of crates --------- Co-authored-by: Alex Crichton <alex@alexcrichton.com>
Configuration menu - View commit details
-
Copy full SHA for e3bd7eb - Browse repository at this point
Copy the full SHA e3bd7ebView commit details -
v2 of component model threading intrinsics (#1519)
Co-authored-by: Alex Crichton <alex@alexcrichton.com>
Configuration menu - View commit details
-
Copy full SHA for e4dc22b - Browse repository at this point
Copy the full SHA e4dc22bView commit details -
Generate nominal IDs for all bindings generation (#1526)
* Generate nominal IDs for all bindings generation This commit leverages bytecodealliance/wasm-tools#2447 to make many existing and future problems much easier in `wit-bindgen`. Namely a `TypeId` now uniquely identifies a type to be generated rather than simultaneously representing both an import and an export in some situations. This isn't immediately leveraged in bindings generators just yet but it's intended to open up the doors to benefitting from this in the future. * Rely on nominal type ids in the rust generator No major changes just yet, but this shows some examples of removing non-obvious logic in bindings generation enabled by nominal type ids. * Fix Go CI
Configuration menu - View commit details
-
Copy full SHA for 7bebfd6 - Browse repository at this point
Copy the full SHA 7bebfd6View commit details -
Rust: merge structurally equal types in bindgen (#1468)
* merge equal types * fix * add test * Refactor type equality algorithm structure * Handle `alias == primitive` by juggling typedefs/`Type::Id` a bit more carefully. * Avoid using `_ => false` * Fix handling of `own`/`borrow` and `future`/`stream` to be more uniform like the rest of the algorithm. * Avoid special-casing resources, but for now consider them always not-equal. * Adjust CLI flag handling * Refactor how structurally-equal types are generated Leverage the recent support for nominal type IDs to remove some now-no-longer-necessary infrastructure. This additionally overrides the `define_type` method in the Rust generator to handle aliases at one location instead of in multiple locations. --------- Co-authored-by: Alex Crichton <alex@alexcrichton.com>
Configuration menu - View commit details
-
Copy full SHA for fd57889 - Browse repository at this point
Copy the full SHA fd57889View commit details
Commits on Feb 11, 2026
-
Adjust docs of
--merge-structurally-equal-types(#1531)Follow-up to #1468
Configuration menu - View commit details
-
Copy full SHA for ca98caf - Browse repository at this point
Copy the full SHA ca98cafView commit details -
Add
cargo binstallmetadata forwit-bindgen-cli(#1525)An attempt to get `cargo binstall wit-bindgen-cli` working, copied mostly from the `wasm-tools` repository.
Configuration menu - View commit details
-
Copy full SHA for 895b93a - Browse repository at this point
Copy the full SHA 895b93aView commit details -
Configuration menu - View commit details
-
Copy full SHA for cb8b0ac - Browse repository at this point
Copy the full SHA cb8b0acView commit details
Commits on Feb 12, 2026
-
rust: Reimplement how stream/future payloads work (#1528)
* rust: Reimplement how stream/future payloads work Previously stream/future payload were generated by collecting the set of types used in `future` and `stream` types in a WIT, rendering them to a string, deduplicating based on this string representation, and then generating various impls-with-vtables. This stringification strategy unfortunately falls down in a few situations such as: * Type aliases in WIT render as two names in Rust, but they're using the same Rust type. * Types with the same definition, but in multiple modules, will have two different paths in Rust but alias the same type. * Primitives may be used directly in streams/futures but then additionally used as a WIT type alias. In all of these situations it's effectively exposing how Rust requires at most one-impl-per-type-definition but the stringification/deduping was just a proxy for implementing this restriction and not a precise calculation. Using the work from bytecodealliance/wasm-tools#2447 as well as #1468 it's possible to do all of this without stringifying. Specifically #1468, transitively enabled by bytecodealliance/wasm-tools#2447, enables building a set of equal types that the Rust generator knows will all alias the same type definition. Using this it's possible to translate a payload to its "canonical payload" representation ID-wise and perform hashing/deduplication based on that. This in turn solves all of the issues above as well as previous issues such as #1432 and #1433 without requiring the workaround in #1482. The end result is that all of these various bugs should be fixed and the Rust generator should be much more reliable about when exactly a trait impl is emitted vs not. Closes #1523 Closes #1524 * Try fixing CI * Fix typo * Fix rust CI
Configuration menu - View commit details
-
Copy full SHA for 0badf73 - Browse repository at this point
Copy the full SHA 0badf73View commit details -
Release wit-bindgen 0.53.0 (#1532)
[automatically-tag-and-release-this-commit] Co-authored-by: Auto Release Process <auto-release-process@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 51080a0 - Browse repository at this point
Copy the full SHA 51080a0View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.52.0...v0.53.0