From 987c9cef5e21762941b8f288fda7b95623b37080 Mon Sep 17 00:00:00 2001 From: Kareem Khazem Date: Mon, 26 Jun 2023 18:23:30 +0100 Subject: [PATCH 1/4] Install doc dependencies before building (#2564) This fixes a Graphviz graph not being rendered in the Kani book. --- .github/workflows/kani.yml | 3 +++ scripts/setup/ubuntu/install_doc_deps.sh | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100755 scripts/setup/ubuntu/install_doc_deps.sh diff --git a/.github/workflows/kani.yml b/.github/workflows/kani.yml index eac9372905cc..81403735e1cd 100644 --- a/.github/workflows/kani.yml +++ b/.github/workflows/kani.yml @@ -127,6 +127,9 @@ jobs: - name: Detect unexpected book runner failures run: ./scripts/ci/detect_bookrunner_failures.sh build/output/latest/html/bookrunner.txt + - name: Install book dependencies + run: ./scripts/setup/ubuntu/install_doc_deps.sh + # On one OS only, build the documentation, too. - name: Build Documentation run: ./scripts/build-docs.sh diff --git a/scripts/setup/ubuntu/install_doc_deps.sh b/scripts/setup/ubuntu/install_doc_deps.sh new file mode 100755 index 000000000000..e3f4dd2c0d74 --- /dev/null +++ b/scripts/setup/ubuntu/install_doc_deps.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Copyright Kani Contributors +# SPDX-License-Identifier: Apache-2.0 OR MIT + +set -eux + +cargo install mdbook-graphviz +DEBIAN_FRONTEND=noninteractive sudo apt-get install --no-install-recommends --yes graphviz From d4a624f77d629e2ce8402e884b766337d6e7c258 Mon Sep 17 00:00:00 2001 From: Kareem Khazem Date: Mon, 26 Jun 2023 19:33:09 +0100 Subject: [PATCH 2/4] Add run_command benchcomp visualization (#2542) This allows users to write their own custom visualization script to run after running the benchmarks. Prior to this commit, visualizations had to be checked into the Kani repository. When run_command is specified as a visualization, benchcomp runs the specified command and passes the result of the run as a JSON file on stdin. The command can then process the result however it likes. This resolves #2518. --- docs/src/SUMMARY.md | 1 - docs/src/benchcomp-conf.md | 2 +- .../benchcomp/visualizers/__init__.py | 42 +++++++- tools/benchcomp/test/test_regression.py | 97 +++++++++++++++++++ 4 files changed, 138 insertions(+), 4 deletions(-) diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 8ff6608445a9..d4609a87c23b 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -35,7 +35,6 @@ - [Performance comparisons](./performance-comparisons.md) - [`benchcomp` command line](./benchcomp-cli.md) - [`benchcomp` configuration file](./benchcomp-conf.md) - - [Custom visualizations](./benchcomp-viz.md) - [Custom parsers](./benchcomp-parse.md) - [Limitations](./limitations.md) diff --git a/docs/src/benchcomp-conf.md b/docs/src/benchcomp-conf.md index 489ae34a5550..77236d0917bf 100644 --- a/docs/src/benchcomp-conf.md +++ b/docs/src/benchcomp-conf.md @@ -1,7 +1,7 @@ # `benchcomp` configuration file `benchcomp`'s operation is controlled through a YAML file---`benchcomp.yaml` by default or a file passed to the `-c/--config` option. -This page describes the file's schema and lists the different parsers and visualizations that are available. +This page lists the different visualizations that are available. ## Built-in visualizations diff --git a/tools/benchcomp/benchcomp/visualizers/__init__.py b/tools/benchcomp/benchcomp/visualizers/__init__.py index da9effcba426..af973379f19d 100644 --- a/tools/benchcomp/benchcomp/visualizers/__init__.py +++ b/tools/benchcomp/benchcomp/visualizers/__init__.py @@ -3,6 +3,8 @@ import dataclasses +import json +import subprocess import textwrap import jinja2 @@ -12,8 +14,44 @@ import benchcomp.visualizers.utils as viz_utils -# TODO The doc comment should appear in the help output, which should list all -# available checks. + +@dataclasses.dataclass +class run_command: + """Run an executable command, passing the performance metrics as JSON on stdin. + + This allows you to write your own visualization, which reads a result file + on stdin and does something with it, e.g. writing out a graph or other + output file. + + Sample configuration: + + ``` + visualize: + - type: run_command + command: ./my_visualization.py + ``` + """ + + command: str + + + def __call__(self, results): + results = json.dumps(results, indent=2) + try: + proc = subprocess.Popen( + self.command, shell=True, text=True, stdin=subprocess.PIPE) + _, _ = proc.communicate(input=results) + except (OSError, subprocess.SubprocessError) as exe: + logging.error( + "visualization command '%s' failed: %s", self.command, str(exe)) + viz_utils.EXIT_CODE = 1 + if proc.returncode: + logging.error( + "visualization command '%s' exited with code %d", + self.command, proc.returncode) + viz_utils.EXIT_CODE = 1 + + @dataclasses.dataclass class error_on_regression: diff --git a/tools/benchcomp/test/test_regression.py b/tools/benchcomp/test/test_regression.py index a5b02a5b09b1..c5cb61ae8190 100644 --- a/tools/benchcomp/test/test_regression.py +++ b/tools/benchcomp/test/test_regression.py @@ -10,6 +10,7 @@ import tempfile import textwrap import unittest +import uuid import yaml @@ -737,3 +738,99 @@ def test_command_parser(self): for item in ["benchmarks", "metrics"]: self.assertIn(item, result) + + + def test_run_command_visualization(self): + """Ensure that the run_command visualization can execute a command""" + + with tempfile.TemporaryDirectory() as tmp: + out_file = pathlib.Path(tmp) / str(uuid.uuid4()) + run_bc = Benchcomp({ + "variants": { + "v1": { + "config": { + "command_line": "true", + "directory": tmp, + } + }, + "v2": { + "config": { + "command_line": "true", + "directory": tmp, + } + } + }, + "run": { + "suites": { + "suite_1": { + "parser": { + "command": """ + echo '{ + "benchmarks": {}, + "metrics": {} + }' + """ + }, + "variants": ["v2", "v1"] + } + } + }, + "visualize": [{ + "type": "run_command", + "command": f"cat - > {out_file}" + }], + }) + run_bc() + self.assertEqual( + run_bc.proc.returncode, 0, msg=run_bc.stderr) + + with open(out_file) as handle: + result = yaml.safe_load(handle) + + for item in ["benchmarks", "metrics"]: + self.assertIn(item, result) + + + def test_run_failing_command_visualization(self): + """Ensure that benchcomp terminates with a non-zero return code when run_command visualization fails""" + + with tempfile.TemporaryDirectory() as tmp: + out_file = pathlib.Path(tmp) / str(uuid.uuid4()) + run_bc = Benchcomp({ + "variants": { + "v1": { + "config": { + "command_line": "true", + "directory": tmp, + } + }, + "v2": { + "config": { + "command_line": "true", + "directory": tmp, + } + } + }, + "run": { + "suites": { + "suite_1": { + "parser": { + "command": """ + echo '{ + "benchmarks": {}, + "metrics": {} + }' + """ + }, + "variants": ["v2", "v1"] + } + } + }, + "visualize": [{ + "type": "run_command", + "command": f"cat - > {out_file}; false" + }], + }) + run_bc() + self.assertNotEqual( + run_bc.proc.returncode, 0, msg=run_bc.stderr) From ee4b0c84c971117c613fddba3899cb2800d8ae5d Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri <91620234+jaisnan@users.noreply.github.com> Date: Tue, 27 Jun 2023 10:19:53 -0400 Subject: [PATCH 3/4] Update dependencies (#2568) --- Cargo.lock | 84 +++++++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f80547d4edcd..c3192546a847 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,15 +49,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" +checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" [[package]] name = "anstyle-parse" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" dependencies = [ "utf8parse", ] @@ -179,9 +179,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.3.4" +version = "4.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80672091db20273a15cf9fdd4e47ed43b5091ec9841bf4c6145c9dfbbcae09ed" +checksum = "d9394150f5b4273a1763355bd1c2ec54cc5a2593f790587bcd6b2c947cfa9211" dependencies = [ "clap_builder", "clap_derive", @@ -190,9 +190,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.3.4" +version = "4.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1458a1df40e1e2afebb7ab60ce55c1fa8f431146205aa5f4887e0b111c27636" +checksum = "9a78fbdd3cc2914ddf37ba444114bc7765bbdcb55ec9cbe6fa054f0137400717" dependencies = [ "anstream", "anstyle", @@ -211,7 +211,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.22", ] [[package]] @@ -363,6 +363,12 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +[[package]] +name = "equivalent" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" + [[package]] name = "errno" version = "0.3.1" @@ -421,9 +427,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" [[package]] name = "heck" @@ -466,12 +472,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" dependencies = [ - "autocfg", - "hashbrown 0.12.3", + "equivalent", + "hashbrown 0.14.0", ] [[package]] @@ -587,7 +593,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.22", ] [[package]] @@ -608,9 +614,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.146" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "linear-map" @@ -871,9 +877,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.60" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" +checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" dependencies = [ "unicode-ident", ] @@ -1071,14 +1077,14 @@ checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.22", ] [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" dependencies = [ "itoa", "ryu", @@ -1087,9 +1093,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" dependencies = [ "serde", ] @@ -1105,9 +1111,9 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.21" +version = "0.9.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c" +checksum = "452e67b9c20c37fa79df53201dc03839651086ed9bbe92b3ca585ca9fdaa7d85" dependencies = [ "indexmap", "itoa", @@ -1223,9 +1229,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.18" +version = "2.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" +checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" dependencies = [ "proc-macro2", "quote", @@ -1249,7 +1255,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.22", ] [[package]] @@ -1264,9 +1270,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" +checksum = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240" dependencies = [ "serde", "serde_spanned", @@ -1276,18 +1282,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.10" +version = "0.19.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" +checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7" dependencies = [ "indexmap", "serde", @@ -1310,13 +1316,13 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.18", + "syn 2.0.22", ] [[package]] From fda2b4233a784201f5144539998cc74da23ded0b Mon Sep 17 00:00:00 2001 From: Jaisurya Nanduri <91620234+jaisnan@users.noreply.github.com> Date: Tue, 27 Jun 2023 14:00:20 -0400 Subject: [PATCH 4/4] Bump Kani version to 0.31.0 (#2569) --- CHANGELOG.md | 15 +++++++++++++-- Cargo.lock | 18 +++++++++--------- Cargo.toml | 2 +- cprover_bindings/Cargo.toml | 2 +- kani-compiler/Cargo.toml | 2 +- kani-driver/Cargo.toml | 2 +- kani_metadata/Cargo.toml | 2 +- library/kani/Cargo.toml | 2 +- library/kani_macros/Cargo.toml | 2 +- library/std/Cargo.toml | 2 +- tools/build-kani/Cargo.toml | 2 +- 11 files changed, 31 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2252091e688b..37f29f7df732 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ This file contains notable changes (e.g. breaking changes, major changes, etc.) This file was introduced starting Kani 0.23.0, so it only contains changes from version 0.23.0 onwards. +## [0.31.0] + +## What's Changed +* Add `--exact` flag by @jaisnan in https://github.com/model-checking/kani/pull/2527 +* Build the verification libraries using Kani compiler by @celinval in https://github.com/model-checking/kani/pull/2534 +* Verify all Kani attributes in all crate items upfront by @celinval in https://github.com/model-checking/kani/pull/2536 +* Update README.md - fix link locations for badge images in markdown by @phayes in https://github.com/model-checking/kani/pull/2537 +* Bump CBMC version to 5.86.0 by @zhassan-aws in https://github.com/model-checking/kani/pull/2561 + +**Full Changelog**: https://github.com/model-checking/kani/compare/kani-0.30.0...kani-0.31.0 + ## [0.30.0] ## What's Changed @@ -92,7 +103,7 @@ This file was introduced starting Kani 0.23.0, so it only contains changes from ### Breaking Changes -- Remove the second parameter in the `kani::any_where` function by @zhassan-aws in #2257 +- Remove the second parameter in the `kani::any_where` function by @zhassan-aws in #2257 We removed the second parameter in the `kani::any_where` function (`_msg: &'static str`) to make the function more ergonomic to use. We suggest moving the explanation for why the assumption is introduced into a comment. For example, the following code: @@ -107,4 +118,4 @@ should be replaced by: ### Major Changes -- Enable the build cache to avoid recompiling crates that haven't changed, and introduce `--force-build` option to compile all crates from scratch by @celinval in #2232. +- Enable the build cache to avoid recompiling crates that haven't changed, and introduce `--force-build` option to compile all crates from scratch by @celinval in #2232. diff --git a/Cargo.lock b/Cargo.lock index c3192546a847..4660575954f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,7 +125,7 @@ dependencies = [ [[package]] name = "build-kani" -version = "0.30.0" +version = "0.31.0" dependencies = [ "anyhow", "cargo_metadata", @@ -270,7 +270,7 @@ dependencies = [ [[package]] name = "cprover_bindings" -version = "0.30.0" +version = "0.31.0" dependencies = [ "lazy_static", "linear-map", @@ -520,14 +520,14 @@ checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" [[package]] name = "kani" -version = "0.30.0" +version = "0.31.0" dependencies = [ "kani_macros", ] [[package]] name = "kani-compiler" -version = "0.30.0" +version = "0.31.0" dependencies = [ "atty", "clap", @@ -550,7 +550,7 @@ dependencies = [ [[package]] name = "kani-driver" -version = "0.30.0" +version = "0.31.0" dependencies = [ "anyhow", "atty", @@ -579,7 +579,7 @@ dependencies = [ [[package]] name = "kani-verifier" -version = "0.30.0" +version = "0.31.0" dependencies = [ "anyhow", "home", @@ -588,7 +588,7 @@ dependencies = [ [[package]] name = "kani_macros" -version = "0.30.0" +version = "0.31.0" dependencies = [ "proc-macro-error", "proc-macro2", @@ -598,7 +598,7 @@ dependencies = [ [[package]] name = "kani_metadata" -version = "0.30.0" +version = "0.31.0" dependencies = [ "cprover_bindings", "serde", @@ -1175,7 +1175,7 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "std" -version = "0.30.0" +version = "0.31.0" dependencies = [ "kani", ] diff --git a/Cargo.toml b/Cargo.toml index ea175207df0e..e87c98d5241a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-verifier" -version = "0.30.0" +version = "0.31.0" edition = "2021" description = "A bit-precise model checker for Rust." readme = "README.md" diff --git a/cprover_bindings/Cargo.toml b/cprover_bindings/Cargo.toml index dfcf9d616acf..aad7ccc3c858 100644 --- a/cprover_bindings/Cargo.toml +++ b/cprover_bindings/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "cprover_bindings" -version = "0.30.0" +version = "0.31.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/kani-compiler/Cargo.toml b/kani-compiler/Cargo.toml index c47069f59d5d..65f018363990 100644 --- a/kani-compiler/Cargo.toml +++ b/kani-compiler/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-compiler" -version = "0.30.0" +version = "0.31.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/kani-driver/Cargo.toml b/kani-driver/Cargo.toml index 28bce4c30ce1..18d666830854 100644 --- a/kani-driver/Cargo.toml +++ b/kani-driver/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-driver" -version = "0.30.0" +version = "0.31.0" edition = "2021" description = "Build a project with Kani and run all proof harnesses" license = "MIT OR Apache-2.0" diff --git a/kani_metadata/Cargo.toml b/kani_metadata/Cargo.toml index a32dbb7b8db6..1f71406bbad3 100644 --- a/kani_metadata/Cargo.toml +++ b/kani_metadata/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_metadata" -version = "0.30.0" +version = "0.31.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani/Cargo.toml b/library/kani/Cargo.toml index 373ac53766e5..2dfd1e5e5291 100644 --- a/library/kani/Cargo.toml +++ b/library/kani/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani" -version = "0.30.0" +version = "0.31.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani_macros/Cargo.toml b/library/kani_macros/Cargo.toml index 0e2335f3c58b..bfcdcb64afc0 100644 --- a/library/kani_macros/Cargo.toml +++ b/library/kani_macros/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_macros" -version = "0.30.0" +version = "0.31.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/library/std/Cargo.toml b/library/std/Cargo.toml index 90a44ca50a7b..3ed8810f0c1d 100644 --- a/library/std/Cargo.toml +++ b/library/std/Cargo.toml @@ -5,7 +5,7 @@ # Note: this package is intentionally named std to make sure the names of # standard library symbols are preserved name = "std" -version = "0.30.0" +version = "0.31.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/tools/build-kani/Cargo.toml b/tools/build-kani/Cargo.toml index 6feb881a93c7..eb4f686bc9f3 100644 --- a/tools/build-kani/Cargo.toml +++ b/tools/build-kani/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "build-kani" -version = "0.30.0" +version = "0.31.0" edition = "2021" description = "Builds Kani, Sysroot and release bundle." license = "MIT OR Apache-2.0"