Skip to content

Promote an assert! to a bail!#2071

Merged
alexcrichton merged 1 commit intobytecodealliance:mainfrom
alexcrichton:assert-to-error
Feb 25, 2025
Merged

Promote an assert! to a bail!#2071
alexcrichton merged 1 commit intobytecodealliance:mainfrom
alexcrichton:assert-to-error

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