-
Notifications
You must be signed in to change notification settings - Fork 106
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
Type limits for unsigned integer missing when using check_overflows = false
#1215
Comments
The The |
This might also be related to the backtranslation of verification errors:
This results in
|
* Addresses #1215 * Skip memchr crate * Add more tests * Removed unneeded environment variable * Skip failing crates * Fix typo * Skip failing crates * Temporarily disable fail_fast * Switch from native-tls to rustls * Re-enable skipped crates * Skip failing crates * Skip failing crates * disable failing crate * Re-enable fail_fast * Print errors with Display * Disable encode_unsigned_num_constraints * Fix typo in environment variable * Remove unnecessairy compile flags
I don't think this issue is completely resolved, if a user sets |
#[requires(0 <= i)]
generates a warning:[unused_comparisons] comparison is useless due to type limits.
, but removing it withcheck_overflows = false
will cause the verification to fail:[Prusti internal error] Prusti encountered an unexpected internal error
Details: unregistered verification error: [application.precondition:assertion.false; 0] Precondition of function lookup_pure__$TY$__Slice$i64$i64$Slice$i64$$int$$$int$ might not hold. Assertion 0 <= _3 might not hold. (@0.0)
.Additionally, the error appears on line 1 column 1 in the lib.rs file, not in the file where the error happened.
The text was updated successfully, but these errors were encountered: