forked from model-checking/verify-rust-std
-
Notifications
You must be signed in to change notification settings - Fork 0
add loop-invariants and harnesses #16
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
Open
thanhnguyen-aws
wants to merge
36
commits into
main
Choose a base branch
from
memchrinvariant
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
…verify-rust-std into memchrinvariant
…verify-rust-std into memchrinvariant
dfcc7cc
to
e411051
Compare
…#467) This is an automated PR to merge library subtree updates from 2025-08-07 (rust-lang/rust@7d82b83) to 2025-08-18 (rust-lang/rust@425a9c0) (inclusive) into main. `git merge` resulted in conflicts, which require manual resolution. Files were commited with merge conflict markers. **Do not remove or edit the following annotations:** git-subtree-dir: library git-subtree-split: 85cbfac --------- Signed-off-by: Ayush Singh <[email protected]> Signed-off-by: Jonathan Brouwer <[email protected]> Signed-off-by: Sacha Ayoun <[email protected]> Signed-off-by: Eval EXEC <[email protected]> Signed-off-by: Jens Reidel <[email protected]> Co-authored-by: Scott McMurray <[email protected]> Co-authored-by: github-actions <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Jacob Pratt <[email protected]> Co-authored-by: quaternic <[email protected]> Co-authored-by: Madhav Madhusoodanan <[email protected]> Co-authored-by: Ralf Jung <[email protected]> Co-authored-by: Folkert de Vries <[email protected]> Co-authored-by: bors <[email protected]> Co-authored-by: Matthias Krüger <[email protected]> Co-authored-by: xonx <[email protected]> Co-authored-by: Yosh <[email protected]> Co-authored-by: usamoi <[email protected]> Co-authored-by: joboet <[email protected]> Co-authored-by: Stuart Cook <[email protected]> Co-authored-by: gewitternacht <[email protected]> Co-authored-by: Jakub Beránek <[email protected]> Co-authored-by: Connor Tsui <[email protected]> Co-authored-by: Aandreba <[email protected]> Co-authored-by: Lucas Werkmeister <[email protected]> Co-authored-by: WANG Rui <[email protected]> Co-authored-by: Orson Peters <[email protected]> Co-authored-by: Balt <[email protected]> Co-authored-by: Nurzhan Sakén <[email protected]> Co-authored-by: Tsukasa OI <[email protected]> Co-authored-by: Guillaume Gomez <[email protected]> Co-authored-by: Samuel Tardieu <[email protected]> Co-authored-by: Evgenii Zheltonozhskii <[email protected]> Co-authored-by: Nico Lehmann <[email protected]> Co-authored-by: stifskere <[email protected]> Co-authored-by: Christopher Hotchkiss <[email protected]> Co-authored-by: Folkert de Vries <[email protected]> Co-authored-by: Kivooeo <[email protected]> Co-authored-by: Ayush Singh <[email protected]> Co-authored-by: Jonathan Brouwer <[email protected]> Co-authored-by: Ross MacArthur <[email protected]> Co-authored-by: Paul Murphy <[email protected]> Co-authored-by: Michael Tautschnig <[email protected]> Co-authored-by: Chai T. Rex <[email protected]> Co-authored-by: okaneco <[email protected]> Co-authored-by: The 8472 <[email protected]> Co-authored-by: Josh Triplett <[email protected]> Co-authored-by: Eric Huss <[email protected]> Co-authored-by: Boxy <[email protected]> Co-authored-by: LorrensP-2158466 <[email protected]> Co-authored-by: Karl Meakin <[email protected]> Co-authored-by: Ivan Enderlin <[email protected]> Co-authored-by: Ulrich Stark <[email protected]> Co-authored-by: Shoyu Vanilla <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Roger Curley <[email protected]> Co-authored-by: Spxg <[email protected]> Co-authored-by: Chris Denton <[email protected]> Co-authored-by: Ada Alakbarova <[email protected]> Co-authored-by: ltdk <[email protected]> Co-authored-by: Esteban Küber <[email protected]> Co-authored-by: SabrinaJewson <[email protected]> Co-authored-by: Ed Page <[email protected]> Co-authored-by: Ada Alakbarova <[email protected]> Co-authored-by: Mara Bos <[email protected]> Co-authored-by: Sacha Ayoun <[email protected]> Co-authored-by: Tim (Theemathas) Chirananthavat <[email protected]> Co-authored-by: Eval EXEC <[email protected]> Co-authored-by: sayantn <[email protected]> Co-authored-by: Nicholas Nethercote <[email protected]> Co-authored-by: Marcelo Domínguez <[email protected]> Co-authored-by: Jens Reidel <[email protected]> Co-authored-by: gitbot <git@bot>
…#471) This is an automated PR to merge library subtree updates from 2025-08-18 (rust-lang/rust@425a9c0) to 2025-08-19 (rust-lang/rust@9eb4a26), inclusive. This is a clean merge, no conflicts were detected. **Do not remove or edit the following annotations:** git-subtree-dir: library git-subtree-split: b4e28fd --------- Signed-off-by: Ayush Singh <[email protected]> Signed-off-by: Jonathan Brouwer <[email protected]> Signed-off-by: Sacha Ayoun <[email protected]> Signed-off-by: Eval EXEC <[email protected]> Signed-off-by: Jens Reidel <[email protected]> Co-authored-by: Scott McMurray <[email protected]> Co-authored-by: github-actions <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Jacob Pratt <[email protected]> Co-authored-by: quaternic <[email protected]> Co-authored-by: Madhav Madhusoodanan <[email protected]> Co-authored-by: Ralf Jung <[email protected]> Co-authored-by: Folkert de Vries <[email protected]> Co-authored-by: bors <[email protected]> Co-authored-by: Matthias Krüger <[email protected]> Co-authored-by: xonx <[email protected]> Co-authored-by: Yosh <[email protected]> Co-authored-by: usamoi <[email protected]> Co-authored-by: joboet <[email protected]> Co-authored-by: Stuart Cook <[email protected]> Co-authored-by: gewitternacht <[email protected]> Co-authored-by: Jakub Beránek <[email protected]> Co-authored-by: Connor Tsui <[email protected]> Co-authored-by: Aandreba <[email protected]> Co-authored-by: Lucas Werkmeister <[email protected]> Co-authored-by: WANG Rui <[email protected]> Co-authored-by: Orson Peters <[email protected]> Co-authored-by: Balt <[email protected]> Co-authored-by: Nurzhan Sakén <[email protected]> Co-authored-by: Tsukasa OI <[email protected]> Co-authored-by: Guillaume Gomez <[email protected]> Co-authored-by: Samuel Tardieu <[email protected]> Co-authored-by: Evgenii Zheltonozhskii <[email protected]> Co-authored-by: Nico Lehmann <[email protected]> Co-authored-by: stifskere <[email protected]> Co-authored-by: Christopher Hotchkiss <[email protected]> Co-authored-by: Folkert de Vries <[email protected]> Co-authored-by: Kivooeo <[email protected]> Co-authored-by: Ayush Singh <[email protected]> Co-authored-by: Jonathan Brouwer <[email protected]> Co-authored-by: Ross MacArthur <[email protected]> Co-authored-by: Paul Murphy <[email protected]> Co-authored-by: Michael Tautschnig <[email protected]> Co-authored-by: Chai T. Rex <[email protected]> Co-authored-by: okaneco <[email protected]> Co-authored-by: The 8472 <[email protected]> Co-authored-by: Josh Triplett <[email protected]> Co-authored-by: Eric Huss <[email protected]> Co-authored-by: Boxy <[email protected]> Co-authored-by: LorrensP-2158466 <[email protected]> Co-authored-by: Karl Meakin <[email protected]> Co-authored-by: Ivan Enderlin <[email protected]> Co-authored-by: Ulrich Stark <[email protected]> Co-authored-by: Shoyu Vanilla <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Roger Curley <[email protected]> Co-authored-by: Spxg <[email protected]> Co-authored-by: Chris Denton <[email protected]> Co-authored-by: Ada Alakbarova <[email protected]> Co-authored-by: ltdk <[email protected]> Co-authored-by: Esteban Küber <[email protected]> Co-authored-by: SabrinaJewson <[email protected]> Co-authored-by: Ed Page <[email protected]> Co-authored-by: Ada Alakbarova <[email protected]> Co-authored-by: Mara Bos <[email protected]> Co-authored-by: Sacha Ayoun <[email protected]> Co-authored-by: Tim (Theemathas) Chirananthavat <[email protected]> Co-authored-by: Eval EXEC <[email protected]> Co-authored-by: sayantn <[email protected]> Co-authored-by: Nicholas Nethercote <[email protected]> Co-authored-by: Marcelo Domínguez <[email protected]> Co-authored-by: Jens Reidel <[email protected]> Co-authored-by: Alan Urmancheev <[email protected]> Co-authored-by: gitbot <git@bot>
This is an automated PR to update Kani metrics. The metrics have been updated by running `./scripts/run-kani.sh --run metrics`. Co-authored-by: tautschnig <[email protected]>
…verify-rust-std into memchrinvariant
This PR adds a VeriFast proof that the LinkedList APIs enumerated in Challenge 5 have the properties enumerated in the Challenge. Note that VeriFast has some [known unsoundnesses](https://github.com/verifast/verifast/blob/master/tests/rust/README.md) and may also have unknown unsoundnesses, since it is a non-foundational tool (unlike e.g. [RefinedRust](https://plv.mpi-sws.org/refinedrust/).) *Addendum, 2025-01-23*: Note, in particular, that VeriFast 24.12 ignores unwind paths, and, if the `-ignore_unwind_paths` flag is specified on the command line, so does VeriFast 25.01. The 25.01 version of the proof specifies `-ignore_unwind_paths`. So neither version of the proof verifies unwind paths. Note also that I made some minor changes to the code of linked_list.rs. A diff is at `verifast-proofs/alloc/collections/linked_list.code-changes.diff`. Note, furthermore, that this proof uses a few `assume` statements. Incorrect use of `assume` statements can of course lead to unsoundness. This PR is based on the solution that I announced originally in the model-checking#29 thread; since then, I have resolved some VeriFast unsoundnesses and made some other improvements (such as bringing down the verification time for linked_list.rs significantly). I will be happy to produce a new VeriFast release and either update this PR or submit a new one to use the new VeriFast release if that is desired. See some more details in the model-checking#29 thread. Note: the VeriFast tool application issue (model-checking#213) is still open; it should probably be resolved before this PR is accepted. I'm submitting this PR at this point to inform the creation of the tool PR. Resolves model-checking#29. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.
…#476) This is an automated PR to merge library subtree updates from 2025-08-19 (rust-lang/rust@9eb4a26) to 2025-08-20 (rust-lang/rust@05f5a58), inclusive. This is a clean merge, no conflicts were detected. **Do not remove or edit the following annotations:** git-subtree-dir: library git-subtree-split: 71d8d81 --------- Signed-off-by: Ayush Singh <[email protected]> Signed-off-by: Jonathan Brouwer <[email protected]> Signed-off-by: Sacha Ayoun <[email protected]> Signed-off-by: Eval EXEC <[email protected]> Signed-off-by: Jens Reidel <[email protected]> Co-authored-by: Jakub Beránek <[email protected]> Co-authored-by: Connor Tsui <[email protected]> Co-authored-by: Aandreba <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Stuart Cook <[email protected]> Co-authored-by: Lucas Werkmeister <[email protected]> Co-authored-by: WANG Rui <[email protected]> Co-authored-by: Orson Peters <[email protected]> Co-authored-by: bors <[email protected]> Co-authored-by: Jacob Pratt <[email protected]> Co-authored-by: Ralf Jung <[email protected]> Co-authored-by: Scott McMurray <[email protected]> Co-authored-by: Balt <[email protected]> Co-authored-by: Nurzhan Sakén <[email protected]> Co-authored-by: The rustc-josh-sync Cronjob Bot <[email protected]> Co-authored-by: Tsukasa OI <[email protected]> Co-authored-by: Guillaume Gomez <[email protected]> Co-authored-by: Samuel Tardieu <[email protected]> Co-authored-by: Evgenii Zheltonozhskii <[email protected]> Co-authored-by: Nico Lehmann <[email protected]> Co-authored-by: stifskere <[email protected]> Co-authored-by: Pascal S. de Kloe <[email protected]> Co-authored-by: Folkert de Vries <[email protected]> Co-authored-by: Christopher Hotchkiss <[email protected]> Co-authored-by: Madhav Madhusoodanan <[email protected]> Co-authored-by: Folkert de Vries <[email protected]> Co-authored-by: Kivooeo <[email protected]> Co-authored-by: Ayush Singh <[email protected]> Co-authored-by: Jonathan Brouwer <[email protected]> Co-authored-by: Raoul Strackx <[email protected]> Co-authored-by: Ross MacArthur <[email protected]> Co-authored-by: Paul Murphy <[email protected]> Co-authored-by: Michael Tautschnig <[email protected]> Co-authored-by: Chai T. Rex <[email protected]> Co-authored-by: okaneco <[email protected]> Co-authored-by: The 8472 <[email protected]> Co-authored-by: Josh Triplett <[email protected]> Co-authored-by: Eric Huss <[email protected]> Co-authored-by: Boxy <[email protected]> Co-authored-by: LorrensP-2158466 <[email protected]> Co-authored-by: Karl Meakin <[email protected]> Co-authored-by: Ivan Enderlin <[email protected]> Co-authored-by: Ulrich Stark <[email protected]> Co-authored-by: Shoyu Vanilla <[email protected]> Co-authored-by: Trevor Gross <[email protected]> Co-authored-by: Roger Curley <[email protected]> Co-authored-by: Spxg <[email protected]> Co-authored-by: Chris Denton <[email protected]> Co-authored-by: Ada Alakbarova <[email protected]> Co-authored-by: ltdk <[email protected]> Co-authored-by: Esteban Küber <[email protected]> Co-authored-by: gewitternacht <[email protected]> Co-authored-by: Jakub Stasiak <[email protected]> Co-authored-by: SabrinaJewson <[email protected]> Co-authored-by: Ed Page <[email protected]> Co-authored-by: Ada Alakbarova <[email protected]> Co-authored-by: Mara Bos <[email protected]> Co-authored-by: Sacha Ayoun <[email protected]> Co-authored-by: Tim (Theemathas) Chirananthavat <[email protected]> Co-authored-by: Eval EXEC <[email protected]> Co-authored-by: sayantn <[email protected]> Co-authored-by: Nicholas Nethercote <[email protected]> Co-authored-by: Marcelo Domínguez <[email protected]> Co-authored-by: Jens Reidel <[email protected]> Co-authored-by: Alan Urmancheev <[email protected]> Co-authored-by: binarycat <[email protected]> Co-authored-by: Sebastien Marie <[email protected]> Co-authored-by: 许杰友 Jieyou Xu (Joe) <[email protected]> Co-authored-by: gitbot <git@bot>
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.
Resolves #ISSUE-NUMBER
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.