Skip to content
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

Property representing unreachable!() is marked as SUCCESS instead of UNREACHABLE #3240

Open
celinval opened this issue Jun 7, 2024 · 0 comments
Labels
[C] Bug This is a bug. Something isn't working.

Comments

@celinval
Copy link
Contributor

celinval commented Jun 7, 2024

//! unreachable.rs
#[kani::proof]
fn unreachable() {
    kani::assume(false);
    assert!(false);
    unreachable!("oops")
}

using the following command line invocation:

kani unreachable.rs

with Kani version:

I expected to see this happen: Both properties should be marked as UNREACHABLE.

Instead, this happened: Only the assertion was marked as UNREACHABLE

Kani Rust Verifier 0.52.0 (standalone)
...
RESULTS:
Check 1: unreachable.assertion.1
	 - Status: UNREACHABLE
	 - Description: "assertion failed: false"
	 - Location: unreachable.rs:4:5 in function unreachable

Check 2: unreachable.assertion.2
	 - Status: SUCCESS
	 - Description: "internal error: entered unreachable code: oops"
	 - Location: unreachable.rs:5:5 in function unreachable


SUMMARY:
 ** 0 of 2 failed (1 unreachable)

VERIFICATION:- SUCCESSFUL
@celinval celinval added the [C] Bug This is a bug. Something isn't working. label Jun 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C] Bug This is a bug. Something isn't working.
Projects
None yet
Development

No branches or pull requests

1 participant