We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Requested feature: Allowing users to specify loop modifies instead of inferring them. Link to relevant documentation (Rust reference, Nomicon, RFC): #3167
Test case:
#![feature(stmt_expr_attributes)] #![feature(proc_macro_hygiene)] #[kani::proof] fn simple_while_loop_with_old_harness() { let mut x: u8 = kani::any_where(|i| *i >= 2); let mut y: u8 = x; #[kani::loop_invariant(x >= 2 && y <= old(y)] #[kani::loop_modifies(x)] while x > 2 { x = x - 1; } assert!(x == 2); }
The text was updated successfully, but these errors were encountered:
This feature will unblock model-checking/verify-rust-std#131, model-checking/verify-rust-std#130, and model-checking/verify-rust-std#129.
Sorry, something went wrong.
Slice::repeat
Slice::partition_dedup_by
BinaryHeap::sift_up
No branches or pull requests
Requested feature: Allowing users to specify loop modifies instead of inferring them.
Link to relevant documentation (Rust reference, Nomicon, RFC): #3167
Test case:
The text was updated successfully, but these errors were encountered: