Update Charon submodule to v0.1.91 - #4714
Open
tautschnig wants to merge 1 commit into
Open
Conversation
Advance the Charon pin from v0.1.88 (607f5683) to v0.1.91 (b250680a), continuing the incremental effort to catch the pinned Charon up with upstream (the endgame is dropping scripts/charon-patch.diff entirely). Charon v0.1.89-91 make `Body` carry its blocks in a `BodyContents` vector and introduce an explicit unwind-continuation block id on ULLBC bodies. Kani appends its synthetic "unwinding aborts" block after the translated blocks and assigns its id before translating them (the id equals the MIR block count), keeping all block-id targets stable. Refresh scripts/charon-patch.diff so its hunks apply against the v0.1.91 sources (context-line drift only; the patch content is unchanged). Co-authored-by: Kiro <kiro-agent@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates Kani’s pinned Charon version to v0.1.91 and adjusts the Aeneas/ULLBC MIR translation to match upstream representation changes (notably the explicit unwind continuation and BodyContents-backed blocks). The accompanying Charon patch file is refreshed so it applies cleanly to the new upstream sources.
Changes:
- Bump Charon dependency from v0.1.88 to v0.1.91 (lockfile update).
- Update MIR→ULLBC translation to pre-assign and reference a synthetic unwind-abort block via
on_unwind. - Refresh
scripts/charon-patch.diffhunk context for Charon v0.1.91.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| scripts/charon-patch.diff | Refresh patch context so it applies to Charon v0.1.91 sources. |
| kani-compiler/src/codegen_aeneas_llbc/mir_to_ullbc/mod.rs | Add/track a synthetic unwind block and wire it into translated call terminators. |
| kani-compiler/src/codegen_aeneas_llbc/compiler_interface.rs | Adjust TranslateOptions initialization to match upstream option struct changes. |
| Cargo.lock | Update locked charon crate version to 0.1.91. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
1585
to
1589
| CharonRawTerminator::Call { | ||
| call, | ||
| target: CharonBlockId::from_usize(target.unwrap()), | ||
| on_unwind: self.unwind_block, | ||
| }, |
feliperodri
requested changes
Aug 4, 2026
Comment on lines
1585
to
1589
| CharonRawTerminator::Call { | ||
| call, | ||
| target: CharonBlockId::from_usize(target.unwrap()), | ||
| on_unwind: self.unwind_block, | ||
| }, |
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.
Advance the Charon pin from v0.1.88 (607f5683) to v0.1.91 (b250680a), continuing the incremental effort to catch the pinned Charon up with upstream (the endgame is dropping scripts/charon-patch.diff entirely).
Charon v0.1.89-91 make
Bodycarry its blocks in aBodyContentsvector and introduce an explicit unwind-continuation block id on ULLBC bodies. Kani appends its synthetic "unwinding aborts" block after the translated blocks and assigns its id before translating them (the id equals the MIR block count), keeping all block-id targets stable.Refresh scripts/charon-patch.diff so its hunks apply against the v0.1.91 sources (context-line drift only; the patch content is unchanged).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.