-
Notifications
You must be signed in to change notification settings - Fork 126
Add loop-contracts support for for
loop
#4143
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
thanhnguyen-aws
merged 83 commits into
model-checking:main
from
thanhnguyen-aws:forloopnew1
Aug 20, 2025
Merged
Changes from all commits
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
ded56d8
add for loop transformation
thanhnguyen-aws 2f782bf
add support for array, slice and Iter + expected tests
thanhnguyen-aws d0a902e
add support for Range, StepBy + expected tests
thanhnguyen-aws 32e978c
add support for Vec + expected tests
thanhnguyen-aws 8529488
add expected tests for quantifiers and tuples
thanhnguyen-aws d028bb0
add support for Zip, Chain, Map + expected tests
thanhnguyen-aws 3fc2abc
add support for Enumerate + expected tests
thanhnguyen-aws 8e69667
edit loop-contract docs
thanhnguyen-aws 746311a
edit doc and some typos
thanhnguyen-aws 475718e
Merge branch 'main' into forloopnew1
09f5dcc
merge origin
thanhnguyen-aws ded103c
restore mod.rs after merge
thanhnguyen-aws 418f4f3
Merge branch 'main' into forloopnew1
thanhnguyen-aws 2712069
handling StorageLive/StorageDead for forloop variables
thanhnguyen-aws da1666d
add expected tests for nested forloop
thanhnguyen-aws f9a3c2f
fix clippy
thanhnguyen-aws f8e2232
Merge branch 'main' into forloopnew1
thanhnguyen-aws 8eb51e6
add for-loop rewrite method in loop-contract rfc
thanhnguyen-aws b4f470d
Merge branch 'forloopnew1' of https://github.com/thanhnguyen-aws/kani…
thanhnguyen-aws 6c3e159
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws fa5436e
Merge branch 'main' into forloopnew1
thanhnguyen-aws ceaed0b
add more docs
thanhnguyen-aws cbcc7c3
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 8618f55
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 42e6fc6
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 1e4ffdd
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws bb3f439
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws b716b97
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws e67148d
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws 860430f
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws 64833dd
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 202880e
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 57950a5
add suuport for Take
thanhnguyen-aws 4fc4402
fix the bug of using reference in for-loop pat
thanhnguyen-aws 6cf3afc
gerge branch 'forloopnew1' of https://github.com/thanhnguyen-aws/kani…
thanhnguyen-aws 8bc3f59
update upstream
thanhnguyen-aws dfbf9eb
fix import
thanhnguyen-aws cf41994
change kaniindex to kani_index + kaniiterlen to kani_iter_len
thanhnguyen-aws 9b7f100
change loop-invariant to loop invariant
thanhnguyen-aws 2d71127
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 12b0fda
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 2ec15b4
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws a837f80
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws 558460b
change kani_index to kani::index and kani_iter_len to kani::iter_len
thanhnguyen-aws 6926302
unchange loop contracts to loop invariants
thanhnguyen-aws 969b414
add replacer for macro
thanhnguyen-aws 0948b90
Merge remote-tracking branch 'upstream/main' into forloopnew1
thanhnguyen-aws 94736ac
merge while-let loop
thanhnguyen-aws b28f1d5
fix clippy
thanhnguyen-aws 0d1d2d2
add KaniIntoIter impl for Rev
thanhnguyen-aws 8f7410b
fix variable name & indentation
thanhnguyen-aws 333eeab
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws fd2945d
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws edf339d
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws d1eee1f
Update rfc/src/rfcs/0012-loop-contracts.md
thanhnguyen-aws da30387
Merge branch 'forloopnew1' of https://github.com/thanhnguyen-aws/kani…
thanhnguyen-aws a121b1b
add underscores to function name
thanhnguyen-aws 222f89c
fix typo comments
thanhnguyen-aws 149674d
add impl KaniIter for u128 and i128 for Range
thanhnguyen-aws cff691a
change function name indexing to nth
thanhnguyen-aws b22d152
edit for-loop docs
thanhnguyen-aws 1299e5a
add Rod Chapman example as fixme expected test
thanhnguyen-aws 259fcf8
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws d7b3f0a
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws fcb696d
fix typo mistakes in doc
thanhnguyen-aws 7d9257a
Update library/kani_macros/src/sysroot/loop_contracts/mod.rs
thanhnguyen-aws 97aa688
add KaniIter impl for Range of i128 and u128 + remove comments
thanhnguyen-aws 3dd9587
Merge branch 'forloopnew1' of https://github.com/thanhnguyen-aws/kani…
thanhnguyen-aws f90cb1a
remove comments + fix typos
thanhnguyen-aws 0f9f59d
remove unneccessary mut
thanhnguyen-aws 2edf3c7
fix typo
thanhnguyen-aws 7e03b83
fix indentation
thanhnguyen-aws b4bffda
fix comments
thanhnguyen-aws 80e8822
change traitbound for KaniRefIter & KaniPtrIter
thanhnguyen-aws a77f0cd
fix arr_inc test
thanhnguyen-aws 1b613e9
Merge branch 'main' into forloopnew1
thanhnguyen-aws 7a7e158
remove array clone in arr_inc test
thanhnguyen-aws b2d3758
Merge branch 'forloopnew1' of https://github.com/thanhnguyen-aws/kani…
thanhnguyen-aws 1f99e4c
Update docs/src/reference/experimental/loop-contracts.md
thanhnguyen-aws 67b38c1
fix typo mistakes
thanhnguyen-aws afc7322
revert loop contract -> loop invariant
thanhnguyen-aws c4915cc
fix typo
thanhnguyen-aws 10db6f2
Merge branch 'main' into forloopnew1
thanhnguyen-aws File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.