Skip to content

Commit 3e3c950

Browse files
committed
test: compare proofs to ensure adding unrelated proofs has no impact
1 parent 206588e commit 3e3c950

File tree

6 files changed

+127
-25
lines changed

6 files changed

+127
-25
lines changed

tests/compare/proof1.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#[cfg(kani)]
2+
mod verify {
3+
#[kani::proof]
4+
pub fn f() {
5+
let a = 1;
6+
assert_eq!(a + 1, 2);
7+
}
8+
}

tests/compare/proof2.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#[cfg(kani)]
2+
mod verify {
3+
#[kani::proof]
4+
pub fn f() {
5+
let a = 1;
6+
assert_eq!(a + 1, 2);
7+
}
8+
9+
#[kani::proof]
10+
pub fn g() {
11+
let a = 1;
12+
assert_eq!(a + 1, 2);
13+
}
14+
}

tests/snapshots.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
use assert_cmd::Command;
2+
use distributed_verification::SerFunction;
23
use expect_test::expect_file;
4+
use std::fs::{copy, remove_file};
35

46
fn cmd(args: &[&str]) -> String {
57
let output = Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap().args(args).output().unwrap();
@@ -23,3 +25,29 @@ fn standard_proofs_with_contracts() {
2325
let json = cmd(&["tests/standard_proofs_with_contracts.rs"]);
2426
expect_file!["./snapshots/standard_proofs_with_contracts.json"].assert_eq(&json);
2527
}
28+
29+
fn get_hash(text: &str, start: &str) -> String {
30+
let v: Vec<SerFunction> = serde_json::from_str(text).unwrap();
31+
v.into_iter().find(|f| f.func.starts_with(start)).unwrap().hash
32+
}
33+
34+
#[test]
35+
fn compare_proof() {
36+
let file = "tests/compare/proof.rs";
37+
38+
copy("tests/compare/proof1.rs", file).unwrap();
39+
let text1 = &cmd(&["tests/compare/proof.rs"]);
40+
expect_file!["./snapshots/proof1.json"].assert_eq(text1);
41+
42+
// Add another proof won't affact the previous one.
43+
copy("tests/compare/proof2.rs", file).unwrap();
44+
let text2 = &cmd(&["tests/compare/proof.rs"]);
45+
expect_file!["./snapshots/proof2.json"].assert_eq(text2);
46+
47+
remove_file(file).unwrap();
48+
49+
let f = "pub fn f()";
50+
// For the same proof (w.r.t same path and body),
51+
// the hash value must be the same.
52+
assert_eq!(get_hash(text1, f), get_hash(text2, f));
53+
}

tests/snapshots/proof1.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[
2+
{
3+
"hash": "575801690269439979516926484838947128219",
4+
"def_id": "DefId { id: 0, name: \"verify::f\" }",
5+
"file": "tests/compare/proof.rs",
6+
"attrs": [
7+
"#[kanitool::proof]"
8+
],
9+
"func": "pub fn f() {\n let a = 1;\n assert_eq!(a + 1, 2);\n }",
10+
"callees": [
11+
{
12+
"def_id": "DefId { id: 1, name: \"kani::assert\" }",
13+
"file": "/home/zjp/rust/kani/library/kani_core/src/lib.rs",
14+
"func": "pub const fn assert(cond: bool, msg: &'static str) {\n let _ = cond;\n let _ = msg;\n }"
15+
}
16+
]
17+
}
18+
]

tests/snapshots/proof2.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[
2+
{
3+
"hash": "575801690269439979516926484838947128219",
4+
"def_id": "DefId { id: 0, name: \"verify::f\" }",
5+
"file": "tests/compare/proof.rs",
6+
"attrs": [
7+
"#[kanitool::proof]"
8+
],
9+
"func": "pub fn f() {\n let a = 1;\n assert_eq!(a + 1, 2);\n }",
10+
"callees": [
11+
{
12+
"def_id": "DefId { id: 2, name: \"kani::assert\" }",
13+
"file": "/home/zjp/rust/kani/library/kani_core/src/lib.rs",
14+
"func": "pub const fn assert(cond: bool, msg: &'static str) {\n let _ = cond;\n let _ = msg;\n }"
15+
}
16+
]
17+
},
18+
{
19+
"hash": "288546599094382361312687918975298218807",
20+
"def_id": "DefId { id: 1, name: \"verify::g\" }",
21+
"file": "tests/compare/proof.rs",
22+
"attrs": [
23+
"#[kanitool::proof]"
24+
],
25+
"func": "pub fn g() {\n let a = 1;\n assert_eq!(a + 1, 2);\n }",
26+
"callees": [
27+
{
28+
"def_id": "DefId { id: 2, name: \"kani::assert\" }",
29+
"file": "/home/zjp/rust/kani/library/kani_core/src/lib.rs",
30+
"func": "pub const fn assert(cond: bool, msg: &'static str) {\n let _ = cond;\n let _ = msg;\n }"
31+
}
32+
]
33+
}
34+
]

tests/snapshots/standard_proofs_with_contracts.json

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
[2m2025-04-13T09:16:40.872995Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 1, name: "verify::contract_requires::kani_register_contract" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
2-
[2m2025-04-13T09:16:40.873352Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 3, name: "verify::contract_requires::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
3-
[2m2025-04-13T09:16:40.873665Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 5, name: "verify::contract_requires::{closure#0}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
4-
[2m2025-04-13T09:16:40.873911Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 6, name: "verify::contract_requires::{closure#0}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
5-
[2m2025-04-13T09:16:40.874158Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 7, name: "verify::contract_requires::{closure#0}::{closure#1}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
6-
[2m2025-04-13T09:16:40.874403Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 8, name: "verify::contract_requires::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
7-
[2m2025-04-13T09:16:40.874646Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 9, name: "verify::contract_requires::{closure#2}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
8-
[2m2025-04-13T09:16:40.874890Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 10, name: "verify::contract_requires::{closure#2}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
9-
[2m2025-04-13T09:16:40.875190Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 11, name: "verify::contract_requires::{closure#3}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
10-
[2m2025-04-13T09:16:40.875488Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 12, name: "verify::contract_requires::{closure#3}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
11-
[2m2025-04-13T09:16:40.875867Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 15, name: "verify::contract_ensures::kani_register_contract" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
12-
[2m2025-04-13T09:16:40.876423Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 17, name: "verify::contract_ensures::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
13-
[2m2025-04-13T09:16:40.876733Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 19, name: "verify::contract_ensures::{closure#0}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
14-
[2m2025-04-13T09:16:40.876977Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 20, name: "verify::contract_ensures::{closure#0}::{closure#0}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
15-
[2m2025-04-13T09:16:40.877222Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 21, name: "verify::contract_ensures::{closure#0}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
16-
[2m2025-04-13T09:16:40.877466Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 22, name: "verify::contract_ensures::{closure#0}::{closure#1}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
17-
[2m2025-04-13T09:16:40.877711Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 23, name: "verify::contract_ensures::{closure#0}::{closure#1}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
18-
[2m2025-04-13T09:16:40.877955Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 24, name: "verify::contract_ensures::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
19-
[2m2025-04-13T09:16:40.878199Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 25, name: "verify::contract_ensures::{closure#1}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
20-
[2m2025-04-13T09:16:40.878444Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 26, name: "verify::contract_ensures::{closure#2}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
21-
[2m2025-04-13T09:16:40.878689Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 27, name: "verify::contract_ensures::{closure#2}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
22-
[2m2025-04-13T09:16:40.878934Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 28, name: "verify::contract_ensures::{closure#2}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
23-
[2m2025-04-13T09:16:40.879178Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 29, name: "verify::contract_ensures::{closure#3}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
24-
[2m2025-04-13T09:16:40.879422Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 30, name: "verify::contract_ensures::{closure#3}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
25-
[2m2025-04-13T09:16:40.879666Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 31, name: "verify::contract_ensures::{closure#3}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
1+
[2m2025-04-13T13:32:41.380908Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 1, name: "verify::contract_requires::kani_register_contract" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
2+
[2m2025-04-13T13:32:41.381273Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 3, name: "verify::contract_requires::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
3+
[2m2025-04-13T13:32:41.381593Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 5, name: "verify::contract_requires::{closure#0}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
4+
[2m2025-04-13T13:32:41.381847Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 6, name: "verify::contract_requires::{closure#0}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
5+
[2m2025-04-13T13:32:41.382101Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 7, name: "verify::contract_requires::{closure#0}::{closure#1}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
6+
[2m2025-04-13T13:32:41.382355Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 8, name: "verify::contract_requires::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
7+
[2m2025-04-13T13:32:41.382607Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 9, name: "verify::contract_requires::{closure#2}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
8+
[2m2025-04-13T13:32:41.382860Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 10, name: "verify::contract_requires::{closure#2}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
9+
[2m2025-04-13T13:32:41.383112Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 11, name: "verify::contract_requires::{closure#3}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
10+
[2m2025-04-13T13:32:41.383365Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 12, name: "verify::contract_requires::{closure#3}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
11+
[2m2025-04-13T13:32:41.383732Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 15, name: "verify::contract_ensures::kani_register_contract" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
12+
[2m2025-04-13T13:32:41.384194Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 17, name: "verify::contract_ensures::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
13+
[2m2025-04-13T13:32:41.384510Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 19, name: "verify::contract_ensures::{closure#0}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
14+
[2m2025-04-13T13:32:41.384763Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 20, name: "verify::contract_ensures::{closure#0}::{closure#0}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
15+
[2m2025-04-13T13:32:41.385015Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 21, name: "verify::contract_ensures::{closure#0}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
16+
[2m2025-04-13T13:32:41.385268Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 22, name: "verify::contract_ensures::{closure#0}::{closure#1}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
17+
[2m2025-04-13T13:32:41.385521Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 23, name: "verify::contract_ensures::{closure#0}::{closure#1}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
18+
[2m2025-04-13T13:32:41.385773Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 24, name: "verify::contract_ensures::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
19+
[2m2025-04-13T13:32:41.386025Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 25, name: "verify::contract_ensures::{closure#1}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
20+
[2m2025-04-13T13:32:41.386277Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 26, name: "verify::contract_ensures::{closure#2}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
21+
[2m2025-04-13T13:32:41.386530Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 27, name: "verify::contract_ensures::{closure#2}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
22+
[2m2025-04-13T13:32:41.386783Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 28, name: "verify::contract_ensures::{closure#2}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
23+
[2m2025-04-13T13:32:41.387035Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 29, name: "verify::contract_ensures::{closure#3}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
24+
[2m2025-04-13T13:32:41.387365Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 30, name: "verify::contract_ensures::{closure#3}::{closure#0}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
25+
[2m2025-04-13T13:32:41.387628Z[0m [31mERROR[0m [1mall_local_items[0m[1m{[0m[3mitem[0m[2m=[0mCrateItem(DefId { id: 31, name: "verify::contract_ensures::{closure#3}::{closure#1}" })[1m}[0m[2m:[0m [2mdistributed_verification::functions[0m[2m:[0m [3merr[0m[2m=[0mError("Item requires monomorphization")
2626
[
2727
{
2828
"hash": "38388116086344195076038794296078111723",

0 commit comments

Comments
 (0)