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
I tried this code:
#[kani::ensures(*val == 0)] pub fn reset(val: &mut u8) { assign_default(val) } pub fn assign_default<T: Default>(dst: &mut T) { *dst = T::default(); } #[kani::proof_for_contract(reset)] fn check_reset() { let mut v = kani::any(); reset(&mut v); }
using the following command line invocation:
kani reset.rs
with Kani version:
I expected to see this happen: A message indicating that I tried to write to val which wasn't marked as modifiable.
val
Instead, this happened: I got the following error:
Failed Checks: Check that *dst is assignable File: "reset.rs", line 7, in assign_default::<u8>
I don't know how much we can improve this message here, but here are a few suggestions:
modifies
The text was updated successfully, but these errors were encountered:
No branches or pull requests
I tried this code:
using the following command line invocation:
with Kani version:
I expected to see this happen: A message indicating that I tried to write to
val
which wasn't marked as modifiable.Instead, this happened: I got the following error:
I don't know how much we can improve this message here, but here are a few suggestions:
modifies
clause).The text was updated successfully, but these errors were encountered: