You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We presently do not do any validation of rmctool attributes in the rmc compiler.
Presently, we only have rmctool::proof, so the only real missing validations are:
Check to ensure there aren't multiple proof attributes on the function.
Check there's no parameters to proof (#[rmc::proof(stuff, here)])
Check the function being annotated to ensure it has no parameters. (Initially: in the future, we might try to handle parameters as nondet. But this is something to design to handle the assumptions problem...)
When we add more attributes, those need validation too.
Possibly we should do this at the proc_macro level, instead of in the rmc backend of the compiler?
The text was updated successfully, but these errors were encountered:
- Change `#[kani::proof]` expansion so it doesn't include `#[no_mangle]`
but includes `[allow(dead_code)]`. Fixesmodel-checking#661 and fixesmodel-checking#689.
- Add a check for harnesses with arguments and merge the checks into one
function. Fixesmodel-checking#1919
- Change `#[kani::proof]` expansion so it doesn't include `#[no_mangle]` but includes `[allow(dead_code)]`. (#661 and #689).
- Add a check for harnesses with arguments and merge the checks into one function (#1919).
Co-authored-by: Zyad Hassan <88045115+zhassan-aws@users.noreply.github.com>
We presently do not do any validation of
rmctool
attributes in the rmc compiler.Presently, we only have
rmctool::proof
, so the only real missing validations are:#[rmc::proof(stuff, here)]
)nondet
. But this is something to design to handle the assumptions problem...)When we add more attributes, those need validation too.
Possibly we should do this at the
proc_macro
level, instead of in the rmc backend of the compiler?The text was updated successfully, but these errors were encountered: