Skip to content

Update Charon submodule to v0.1.91 - #4714

Open
tautschnig wants to merge 1 commit into
model-checking:mainfrom
tautschnig:charon-update-v0.1.91-pr
Open

Update Charon submodule to v0.1.91#4714
tautschnig wants to merge 1 commit into
model-checking:mainfrom
tautschnig:charon-update-v0.1.91-pr

Conversation

@tautschnig

Copy link
Copy Markdown
Member

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).

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

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>
Copilot AI lite review requested due to automatic review settings August 4, 2026 06:31
@tautschnig
tautschnig requested a review from a team as a code owner August 4, 2026 06:31
@github-actions github-actions Bot added Z-EndToEndBenchCI Tag a PR to run benchmark CI Z-CompilerBenchCI Tag a PR to run benchmark CI labels Aug 4, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.diff hunk 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,
},

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should tackle this one.

Comment on lines 1585 to 1589
CharonRawTerminator::Call {
call,
target: CharonBlockId::from_usize(target.unwrap()),
on_unwind: self.unwind_block,
},

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should tackle this one.

@feliperodri feliperodri added this to the Maintenance milestone Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Z-CompilerBenchCI Tag a PR to run benchmark CI Z-EndToEndBenchCI Tag a PR to run benchmark CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants