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 / let / premise prove_ty_is_wf(env, assumptions, state, ty) => state

Premise at line 188. Observed failure causes: failed_judgment.

let
LineCoverageSource
1881(prove_ty_is_wf(env, assumptions, state, ty) => state)
191(for_all(init in init.into_iter()) with (state) // FIXME: should make syntax for this
(let Init { expr } = init)
(borrow_check_expr_has_ty(env,
assumptions,
state,
expr,
ty,
LiveBefore::live_before(&Assignment(id), env, &state, &places_live_on_exit),
) => state))
201(let state = state.with_local_in_scope(&env.env, label, id, ty)?)
202N/A(let state = if init.is_none() { state.with_uninit(&PlaceExpr::Var(id.clone())) } else { state.with_initialized(&PlaceExpr::Var(id.clone())) })
──────── ("let")
20455(borrow_check_statement(env, assumptions, state, Stmt::Let { label, id, ty, init }, places_live_on_exit) => (env, state))

1 test failed proving this premise:


Source location: tests/mir_typeck.rs:266

fn foo() -> () {
    let s2: S2<S1>;
}
Failed proof tree