Add composability for general import #1380
Merged
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.
Motivation:
Currently WASI-Virt is unable to operate on components created via
cargo-component
if their worlds define types, rather than importing them from an interface. For example if a component uses the following in its witit must instead be written as
otherwise one will encounter this error when using
WASI-Virt
This is due to
WASI-Virt
's usage ofwasm-compose
, which has a limitation that is no longer needed described below.Currently
wasm-compose
assumes every import in a dependency should be an instance resolved to an instantiation. Since originally developed, it has become more common for components to import types directly alongside instances to be composed with one another. This change removes the check that any imports in dependencies being resolved are instance imports, enabling components that directly import types be used in a composition.