Skip to content
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

Include --check-cfg=cfg(kani) in the rust flags to avoid a warning about an unknown cfg. #3187

Merged
merged 1 commit into from
May 16, 2024

Conversation

zhassan-aws
Copy link
Contributor

@zhassan-aws zhassan-aws commented May 16, 2024

Starting with the 2024-05-05 toolchain (and the upcoming Rust 1.80 release), the unexpected_cfgs lint has been turned on by default. As a result, running cargo kani on a crate that has a #[cfg(kani)] results in a warning (see #3186). To avoid this warning, this PR adds --check-cfg=cfg(kani) to RUSTFLAGS when Kani invokes cargo.

Call-outs: On such packages, doing a cargo build will also result in this warning, unless:

println!("cargo::rustc-check-cfg=cfg(kani)");

is added to the package's build.rs file. However, this warning would only occur with cargo build if the package uses the 2024-05-05 toolchain (or newer), or the Rust version used in the package is upgraded to 1.80 (when it's released at the end of July 2024). Since we're likely to release a new version of Kani sooner than the 1.80 release, this PR mitigates the issue that is more likely to impact users (a warning from cargo kani).

Resolves #3186

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

@zhassan-aws zhassan-aws requested a review from a team as a code owner May 16, 2024 00:00
Copy link
Contributor

@celinval celinval left a comment

Choose a reason for hiding this comment

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

Thank you for following up on this one!

@zhassan-aws zhassan-aws merged commit 9b9e473 into model-checking:main May 16, 2024
23 checks passed
@zhassan-aws zhassan-aws deleted the unexpected-cfg branch May 16, 2024 02:43
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
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Using #[cfg(kani)] results in a warning
2 participants