Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Negative coverage: borrow_check_statement / return / premise borrow_check_expr(env, assumptions, state, expr, LivePlaces::default()) => (expr_ty, state)

Premise at line 279. Observed failure causes: failed_judgment.

return
LineCoverageSource
2793(borrow_check_expr(env, assumptions, state, expr, LivePlaces::default()) => (expr_ty, state))
280(if let Some(output_ty) = &env.output_ty)
2814(prove_assignable(env, assumptions, state, expr_ty, output_ty) => state)
282N/A(let state = state.diverges())
──────── ("return")
28449(borrow_check_statement(env, assumptions, state, Stmt::Return { expr }, _places_live_on_exit) => (env, state))

3 tests failed proving this premise:


Source location: tests/borrowck.rs:29

fn foo() -> u32 {
    let x: u32;
    return x;
}
Failed proof tree

Source location: tests/borrowck.rs:139

fn foo() -> u32 {
    let x: u32;
    if true {
        x = 1 _ u32;
    } else {
    }
    return x;
}
Failed proof tree

Source location: tests/borrowck.rs:1838

fn foo() -> u32 {
    let x: u32;
    return x;
}
Failed proof tree