Skip to content

Promote an assert! to a bail! #2071

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 25, 2025

Conversation

alexcrichton
Copy link
Member

This commit fixes a runtime assertion tripping to instead being a first-class error returned by bail!. This cannot currently be triggered from the CLI and is only reachable through API usage of the wit_parser::Resolve type. This usage is reachable through generators such as wit_bindgen::generate!, though.

The error here happens when a package is re-added to a Resolve twice. This currently isn't supported and would require some large refactoring to support. This should probably be fixed at some point in the future to actually be supported but until that happens it's best to have a first-class error for this case instead of an internal assertion tripping.

Closes #1996

This commit fixes a runtime assertion tripping to instead being a
first-class error returned by `bail!`. This cannot currently be
triggered from the CLI and is only reachable through API usage of the
`wit_parser::Resolve` type. This usage is reachable through generators
such as `wit_bindgen::generate!`, though.

The error here happens when a package is re-added to a `Resolve` twice.
This currently isn't supported and would require some large refactoring
to support. This should probably be fixed at some point in the future to
actually be supported but until that happens it's best to have a
first-class error for this case instead of an internal assertion
tripping.

Closes bytecodealliance#1996
@alexcrichton alexcrichton added this pull request to the merge queue Feb 25, 2025
Merged via the queue into bytecodealliance:main with commit d405d00 Feb 25, 2025
31 checks passed
@alexcrichton alexcrichton deleted the assert-to-error branch February 25, 2025 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support multiple packages with deps that have the same versions
2 participants