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_expr / place / premise borrow_check_place_expr(env, assumptions, state, place) => (place, state)

Premise at line 462. Observed failure causes: failed_judgment.

place
LineCoverageSource
4622(borrow_check_place_expr(env, assumptions, state, place) => (place, state))
463(access_kind_for_place_use(env, assumptions, state, place) => (access_kind, state))
46411(access_permitted(env, assumptions, state, Access::new(access_kind, place), places_live_on_exit) => state)
465N/A(let state = if matches!(access_kind, AccessKind::Move) { state.with_uninit(&place.to_place_expression()) } else { state.clone() })
4662(prove_place_is_movable(env, assumptions, state, place) => state)
──────── ("place")
46856(borrow_check_expr(env, assumptions, state, Expr::Place(place), places_live_on_exit) => (&place.ty, state))

2 tests failed proving this premise:


Source location: tests/mir_typeck.rs:280

fn bar() -> u32 {
    let v1: u32 = foo(0 _ u32);
    return v1;
}
Failed proof tree

Source location: tests/mir_typeck.rs:323

fn bar(v1: u32) -> u32 {
    let v0: u32 = identity(v1);
    return v0;
}
Failed proof tree