Skip to content

Commit 41cab95

Browse files
authored
Fix nightly-verita, update to version 2026-09-20 (#62)
The last nightly-verita run had two rlimit timeouts. This PR makes those two function proofs more robust by breaking them down a bit. It also updates to use the latest Verus version, 2026-09-20. This PR was generated by prompting GPT-5.6 Sol.
1 parent 1e43019 commit 41cab95

7 files changed

Lines changed: 44 additions & 19 deletions

File tree

‎capybaraKV/capybarakv/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ default = [ "pmem" ]
2020
crc64fast = "1.0.0"
2121
# Avoid default features since @lopopolo reports that rand is unsound with both the log and thread_rng features
2222
rand = { version = "0.10.1", default-features = false, features = [ "thread_rng" ] }
23-
vstd = { version = "=0.0.0-2026-09-16-0054" }
23+
vstd = { version = "=0.0.0-2026-09-20-0158" }
2424
pmcopy = { path = "../pmcopy" }
2525

2626
[target.'cfg(target_family = "unix")'.dependencies]

‎capybaraKV/capybarakv/src/journal/spec_v.rs‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,25 @@ impl JournalView {
8282
&&& self.matches_in_range(other, end, self.constants.app_area_end as int)
8383
}
8484

85+
pub proof fn lemma_matches_except_in_range_can_widen(
86+
self,
87+
other: JournalView,
88+
inner_start: int,
89+
inner_end: int,
90+
outer_start: int,
91+
outer_end: int,
92+
)
93+
requires
94+
self.matches_except_in_range(other, inner_start, inner_end),
95+
self.constants.app_area_start <= outer_start <= inner_start,
96+
inner_start <= inner_end,
97+
inner_end <= outer_end <= self.constants.app_area_end,
98+
ensures
99+
self.matches_except_in_range(other, outer_start, outer_end),
100+
{
101+
broadcast use broadcast_seqs_match_in_range_can_narrow_range;
102+
}
103+
85104
pub open spec fn abort(self) -> Self
86105
{
87106
JournalView{

‎capybaraKV/capybarakv/src/kv2/keys/crud_v.rs‎

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -357,11 +357,6 @@ where
357357
_ => false,
358358
},
359359
{
360-
proof {
361-
journal.lemma_valid_implications();
362-
self.lemma_valid_implications(journal@);
363-
}
364-
365360
let row_addr = match self.create_step1(k, item_addr, journal) {
366361
Ok(r) => r,
367362
Err(e) => { return Err(e); },
@@ -388,12 +383,11 @@ where
388383

389384
self.status = Ghost(KeyTableStatus::Quiescent);
390385

391-
proof {
386+
assert(self.valid(journal@)) by {
392387
broadcast use broadcast_seqs_match_in_range_can_narrow_range;
393388
broadcast use group_validate_row_addr;
394389
}
395390

396-
assert(self.valid(journal@));
397391
assert(self@.tentative =~= Some(old(self)@.tentative.unwrap().create(*k, item_addr)));
398392
Ok(())
399393
}
@@ -685,14 +679,26 @@ where
685679
assert(self.undo_records@.last() =~= undo_record);
686680
}
687681

688-
proof {
689-
broadcast use broadcast_seqs_match_in_range_can_narrow_range;
682+
self.status = Ghost(KeyTableStatus::Quiescent);
683+
684+
assert(journal@.matches_except_in_range(old(journal)@,
685+
self@.sm.start() as int,
686+
self@.sm.end() as int)) by {
690687
broadcast use group_validate_row_addr;
688+
journal@.lemma_matches_except_in_range_can_widen(
689+
old(journal)@,
690+
row_addr + self.sm.row_metadata_start,
691+
row_addr + self.sm.row_metadata_crc_start + u64::spec_size_of(),
692+
self@.sm.start() as int,
693+
self@.sm.end() as int,
694+
);
691695
}
692696

693-
self.status = Ghost(KeyTableStatus::Quiescent);
697+
assert(self.valid(journal@)) by {
698+
broadcast use broadcast_seqs_match_in_range_can_narrow_range;
699+
broadcast use group_validate_row_addr;
700+
}
694701

695-
assert(self.valid(journal@));
696702
assert(self@.tentative =~= Some(old(self)@.tentative.unwrap().update(*k, new_rm, former_rm)));
697703
Ok(())
698704
}

‎multilog/multilog/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ default = [ "pmem" ]
2020
crc64fast = "1.0.0"
2121
# Avoid default features since @lopopolo reports that rand is unsound with both the log and thread_rng features
2222
rand = { version = "0.10.1", default-features = false, features = [ "thread_rng" ] }
23-
vstd = { version = "=0.0.0-2026-09-16-0054" }
23+
vstd = { version = "=0.0.0-2026-09-20-0158" }
2424
pmsafe = { path = "../pmsafe" }
2525
[target.'cfg(target_os = "windows")'.dependencies]
2626
winapi = { version = "0.3.9", features = ["errhandlingapi", "fileapi", "handleapi", "memoryapi", "winbase", "winerror", "winnt"] }

‎pmemlog/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ edition = "2021"
66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
77

88
[dependencies]
9-
vstd = { version = "=0.0.0-2026-09-16-0054" }
9+
vstd = { version = "=0.0.0-2026-09-20-0158" }
1010
crc64fast = "1.0.0"
1111

1212
[lints.rust]

‎unverified/metadata_kv/Cargo.lock‎

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎unverified/metadata_kv/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ edition = "2021"
88
[dependencies]
99
# Avoid default features since @lopopolo reports that rand is unsound with both the log and thread_rng features
1010
rand = { version = "0.10.1", default-features = false, features = [ "thread_rng" ] }
11-
vstd = { version = "=0.0.0-2026-09-16-0054" }
11+
vstd = { version = "=0.0.0-2026-09-20-0158" }
1212
proptest = "1.4"

0 commit comments

Comments
 (0)