Prusti consistently crashes with an Internal Compiler Error (ICE) when verifying any function containing a closure that captures variables from the enclosing scope (e.g., function arguments).
Reproduction
fn test(x: u64, y: u64) -> u64 {
(|| {
x / y
})()
}
fn main() {
test(1, 0);
}
Actual Behavior
The compiler panics with an internal error:
error: [Prusti: internal error] Prusti encountered an unexpected internal error
...
thread 'rustc' panicked at ...
Expected Behavior
Prusti should report a standard verification error, not crash.
Prusti consistently crashes with an Internal Compiler Error (ICE) when verifying any function containing a closure that captures variables from the enclosing scope (e.g., function arguments).
Reproduction
Actual Behavior
The compiler panics with an internal error:
Expected Behavior
Prusti should report a standard verification error, not crash.