Prusti correctly detects reachable panics when using the panic!() macro. However, when replacing it with std::panic::panic_any(()), Prusti fails to report a verification error even if they are semantically equivalent.
Reproduction
fn test_macro(x: bool) {
panic!(); // Prusti correctly reports: "panic!(..) statement might be reachable"
}
fn test_panic_any(x: bool) {
std::panic::panic_any(()); // Prusti reports NO errors (False Negative)
}
fn main() {}
Expected Behavior
Prusti should report a verification error for test_panic_any, indicating that a panic statement might be reachable, similar to how it handles test_macro.
Actual Behavior
Prusti verifies test_panic_any successfully without reporting any errors.