[wasm-metadata] Parse dependency information#2081
Closed
duffney wants to merge 11 commits intobytecodealliance:mainfrom
Closed
[wasm-metadata] Parse dependency information#2081duffney wants to merge 11 commits intobytecodealliance:mainfrom
duffney wants to merge 11 commits intobytecodealliance:mainfrom
Conversation
…truct for wasm metadata
* Force using `sync` resource-drop during fuzzing This commit fixes fuzzer fallout from bytecodealliance#2065 and related PRs where previously async destructor imports were being generated but were actually bound with synchronous destructor imports. Now `wit-component` is generating an error on async resource destructors so this fixes the generator to avoid generating such imports for now while there's not support for lowering them. * Implement the WIT `async` keyword This commit is an implementation of WebAssembly/component-model#442 in this repository, namely: * The `async` identifier is now a keyword in WIT. * Functions in WIT can be annotated `async`. * New kebab-names are now recognized to round-trip this attribute through the wasm binary format: * `[async]foo` => `foo: async func()` * `[async method]foo.bar` => `resource foo { bar: async func() }` * `[async static]foo.bar` => `resource foo { bar: static async func() }` * Various new tests were updated to ensure these names are gated behind the component-model-async feature and additionally test some validation of these names. * The `wit-component` convention of "name mangling" was updated to use `[async-lower]` instead of `[async]` for lowered functions (to not conflict with the kebab-name otherwise. Additionally in exports `[async-lift]` is used instead of `[async]` as well as `[async-lift-stackful]` instead of `[async-stackful]`. * Support was added to `wit-smith` to generate `async` functions. * Fix `Ord for ComponentNameKind` * Another `Ord`-related fix
…iance#2076) When a new interface is marked as @unstable (feature = somefeaturegate) and it uses a stable type from another package via use package:interface/type.{name} the resulting package should be able to be imported into other packages that use it. The use case for this is adding a unstable interface such as wasi-tls to wasi-cli. Once we get to resolve_include's processing we've already verified that everything checks out from a feature/version perspective for those features. i.e. we can't be trying to consolidate an interface type with a feature that hasn't already been resolved. Signed-off-by: James Sturtevant <jstur@microsoft.com>
* [wasm-metadata] print a summary table * [wasm-metadata] improve rendering of unknown items * [wasm-metadata] finalize table * [wasm-metadata] fix tests * [wasm-metadata] fix tests
* Preserve the version metadata in wit Signed-off-by: James Sturtevant <jstur@microsoft.com> * Add test case for exports Signed-off-by: James Sturtevant <jstur@microsoft.com> --------- Signed-off-by: James Sturtevant <jstur@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1924 Parses & displays dependency information contained in the
.dep-v0custom section.How to use this with cargo-auditable installed:
Sample output: