-
Notifications
You must be signed in to change notification settings - Fork 109
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
Fix casting warnings in Projection::new
#277
Comments
Example: boxed closures, like this: // Create a boxed once-callable closure
let f: Box<dyn FnOnce()> = Box::new(|| {});
f(); |
We need to investigate these. Currently, kani print warnings like the one above for these issues:
|
Not that I have a solution here as to why "Pointer" and "FlexibleArray" seem to be confused here, but I just wanted to note that CBMC now takes a |
Projection::new
Projection::new
From what I gather so far, it looks like we are incorrectly using Struct { Pointer } when adding the symbol to the symbol table. Trying to pin down where this is happening. |
Oh, I think I found it. :)
It looks like we are assuming in a lot of places in this file that a slice is encoded as: struct<T> Slice{
data: const* T,
len: usize,
} But in the following line we expect a FlexibleArray:
|
There is a commented-out assertion with a TODO in
Projection::new
: the assertion fails on some regression tests; but also on some standard library issues that would be useful to have an actual check for. Once we fix the regressions we should enable it.The text was updated successfully, but these errors were encountered: