-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
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
Bump CBMC to version 5.72.0 #1941
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add comments, then looks great
Changing to a draft PR as we'll wait for CBMC 5.72.0 to be released with a couple of bug fixes. |
let param = [0, 0, 0, 0]; | ||
let start = if coin { 4 } else { 0 }; | ||
copy_from_slice(¶m, &mut data.array[start..start + 4]); | ||
assert!(data.t == Type::Apple || data.t == Type::Banana); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is Banana possible?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
kani::assume(index < a.len()); | ||
let x = a[index].as_mut().foo(); | ||
val += x; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm worried that this test doesn't have any asserts on it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added an assert.
let _: Result<Expr, Err7> = Result::Ok(Expr::A); | ||
let _: Result<Expr, Err8> = Result::Ok(Expr::A); | ||
//let _: Result<Expr, Err9> = Result::Ok(Expr::A); | ||
let _: Result<Expr, Err10> = Result::Ok(Expr::A); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
asserts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added asserts.
#[kani::unwind(3)] | ||
fn main() { | ||
let mut set = BTreeSet::<u32>::new(); | ||
set.insert(kani::any()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
assert?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added.
Description of changes:
Upgrade to latest CBMC version
Resolved issues:
Resolves #705
Resolves #1226
Resolves #1657
Resolves #1673
Resolves #1676
Resolves #1748
Resolves #1786
Resolves #1823
Resolves #1946
Resolves #1958
Related RFC:
Optional #ISSUE-NUMBER.
Call-outs:
Testing:
How is this change tested? Added tests for the resolved issues
Is this a refactor change?
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.