-
Notifications
You must be signed in to change notification settings - Fork 92
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
Contracts for a few core functions #3107
Merged
Merged
Conversation
This file contains 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
This will allow us to re-use contracts between modules. We still cannot compile our contracts due to model-checking#2997
Create a value of `[val; size_of::<T>()]` and check if it is a valid combination of bytes for T.
FYI, I'm planning to add more tests to the new intrinsic in a follow up PR together with any possible fix. |
adpaco-aws
reviewed
May 15, 2024
celinval
commented
May 17, 2024
celinval
commented
May 17, 2024
celinval
changed the title
Draft: Contracts for a few core functions
Contracts for a few core functions
May 17, 2024
qinheping
reviewed
May 18, 2024
feliperodri
requested changes
May 20, 2024
- I noticed that invalid values should be checked for copy_nonoverlapping statement. I added an unsupported check for now so we can actually implement the check later.
celinval
commented
May 28, 2024
feliperodri
approved these changes
May 29, 2024
tautschnig
added a commit
to tautschnig/kani
that referenced
this pull request
Jun 4, 2024
Updated version in all `Cargo.toml` files (via `find . -name Cargo.toml -exec sed -i 's/version = "0.51.0"/version = "0.52.0"/' {} \;`) and ran `cargo build-dev` to have `Cargo.lock` files updated. GitHub generated release notes: ## What's Changed * Bump tests/perf/s2n-quic from `6dd41e0` to `bd37960` by @dependabot in model-checking#3178 * Automatic cargo update to 2024-05-13 by @github-actions in model-checking#3177 * Upgrade toolchain to 2024-04-22 by @zhassan-aws in model-checking#3171 * Upgrade toolchain to 2024-05-14 by @zhassan-aws in model-checking#3183 * Automatic toolchain upgrade to nightly-2024-05-15 by @github-actions in model-checking#3185 * Include `--check-cfg=cfg(kani)` in the rust flags to avoid a warning about an unknown `cfg`. by @zhassan-aws in model-checking#3187 * Automatic toolchain upgrade to nightly-2024-05-16 by @github-actions in model-checking#3189 * Perform cargo update because of yanked libc version by @zhassan-aws in model-checking#3192 * Automatic toolchain upgrade to nightly-2024-05-17 by @github-actions in model-checking#3191 * Automatic cargo update to 2024-05-20 by @github-actions in model-checking#3195 * Bump tests/perf/s2n-quic from `bd37960` to `f5d9d74` by @dependabot in model-checking#3196 * New section about linter configuraton checking in the doc. by @remi-delmas-3000 in model-checking#3198 * Automatic cargo update to 2024-05-27 by @github-actions in model-checking#3201 * Bump tests/perf/s2n-quic from `f5d9d74` to `d03cc47` by @dependabot in model-checking#3202 * Update Rust toolchain from nightly-2024-05-17 to nightly-2024-05-23 by @remi-delmas-3000 in model-checking#3199 * Fix `{,e}println!()` by @GrigorenkoPV in model-checking#3209 * Contracts for a few core functions by @celinval in model-checking#3107 * Don't crash benchcomp when rounding non-numeric values by @karkhaz in model-checking#3211 * Update Rust toolchain nightly-2024-05-24 by @qinheping in model-checking#3212 * Upgrade Rust toolchain nightly-2024-05-27 by @qinheping in model-checking#3215 * Automatic toolchain upgrade to nightly-2024-05-28 by @github-actions in model-checking#3217 * Automatic cargo update to 2024-06-03 by @github-actions in model-checking#3220 * Bump tests/perf/s2n-quic from `d03cc47` to `d90729d` by @dependabot in model-checking#3222 * Add simple API for shadow memory by @zhassan-aws in model-checking#3200 ## New Contributors * @GrigorenkoPV made their first contribution in model-checking#3209 **Full Changelog**: model-checking/kani@kani-0.51.0...kani-0.52.0
tautschnig
added a commit
that referenced
this pull request
Jun 4, 2024
Updated version in all `Cargo.toml` files (via `find . -name Cargo.toml -exec sed -i 's/version = "0.51.0"/version = "0.52.0"/' {} \;`) and ran `cargo build-dev` to have `Cargo.lock` files updated. GitHub generated release notes: ## What's Changed * Bump tests/perf/s2n-quic from `6dd41e0` to `bd37960` by @dependabot in #3178 * Automatic cargo update to 2024-05-13 by @github-actions in #3177 * Upgrade toolchain to 2024-04-22 by @zhassan-aws in #3171 * Upgrade toolchain to 2024-05-14 by @zhassan-aws in #3183 * Automatic toolchain upgrade to nightly-2024-05-15 by @github-actions in #3185 * Include `--check-cfg=cfg(kani)` in the rust flags to avoid a warning about an unknown `cfg`. by @zhassan-aws in #3187 * Automatic toolchain upgrade to nightly-2024-05-16 by @github-actions in #3189 * Perform cargo update because of yanked libc version by @zhassan-aws in #3192 * Automatic toolchain upgrade to nightly-2024-05-17 by @github-actions in #3191 * Automatic cargo update to 2024-05-20 by @github-actions in #3195 * Bump tests/perf/s2n-quic from `bd37960` to `f5d9d74` by @dependabot in #3196 * New section about linter configuraton checking in the doc. by @remi-delmas-3000 in #3198 * Automatic cargo update to 2024-05-27 by @github-actions in #3201 * Bump tests/perf/s2n-quic from `f5d9d74` to `d03cc47` by @dependabot in #3202 * Update Rust toolchain from nightly-2024-05-17 to nightly-2024-05-23 by @remi-delmas-3000 in #3199 * Fix `{,e}println!()` by @GrigorenkoPV in #3209 * Contracts for a few core functions by @celinval in #3107 * Don't crash benchcomp when rounding non-numeric values by @karkhaz in #3211 * Update Rust toolchain nightly-2024-05-24 by @qinheping in #3212 * Upgrade Rust toolchain nightly-2024-05-27 by @qinheping in #3215 * Automatic toolchain upgrade to nightly-2024-05-28 by @github-actions in #3217 * Automatic cargo update to 2024-06-03 by @github-actions in #3220 * Bump tests/perf/s2n-quic from `d03cc47` to `d90729d` by @dependabot in #3222 * Add simple API for shadow memory by @zhassan-aws in #3200 ## New Contributors * @GrigorenkoPV made their first contribution in #3209 **Full Changelog**: kani-0.51.0...kani-0.52.0
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.
Adds a new regression test suite that includes safety contracts for
core
functions.Call-out
This PR is still incomplete since it depends on a few changes that are still pending. For example, #2997 is a blocker. The relevant changes should be the regression script changes and in the new directory tests/std-checks.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.