Remove public deps from wasm-metadata
's API
#1130
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.
Currently whenever
wasmparser
orwasm-encoder
have a major version bump this requires a major revision ofwasm-metadata
to be released due to their appearance in the API ofwasm-metadata
. This in turn forces a major version bump ofwit-component
due towit-component
's usage ofwasm-metadata
in its public API.The
wasmparser
andwasm-encoder
crates, however, are relatively "unstable" crates in that the amount of features they support for wasm are shifting quite a lot over time meaning that they have a lot of major version bumps. Coupling this rate of change towit-component
which is expected to be embedded in many WIT-related bindings generators I'm predicting won't be the best development story.To decouple these crates this commit removes the
wasmparser
andwasm-encoder
types from the API ofwasm-metadata
by making them internal implementation details. After this it's possible to have a major revision ofwasmparser
without updating the major revision ofwasm-metadata
orwit-component
for example.