Uh oh!
There was an error while loading. Please reload this page.
Add loop contracts and harness for BinaryHeap::sift_up - #129
Conversation
BinaryHeap::sift_upUh oh!
There was an error while loading. Please reload this page.
tautschnig
commented
Oct 22, 2024
Would adding a |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| // SAFETY: The caller guarantees that pos < self.len() | ||
| let mut hole = unsafe { Hole::new(&mut self.data, pos) }; | ||
| #[cfg_attr(kani, kani::loop_invariant(hole.pos() <= pos))] |
There was a problem hiding this comment.
Can you please loop invariants to the safety crate for now and use that instead?
qinheping
commented
Feb 3, 2025
Will be unblocked with model-checking/kani#3871 |
This proof is blocked as CBMC couldn't infer the loop modifies
hole.pos. We need to add support of loop modifies or improve CBMC's inference algorithm.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.