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_has_ty / block / premise prove_assignable(env, assumptions, state, ty_expr, ty) => state

Premise at line 364. Observed failure causes: failed_judgment.

block
LineCoverageSource
36336(borrow_check_expr(env, assumptions, state, expr, places_live_on_exit) => (ty_expr, state))
3647(prove_assignable(env, assumptions, state, ty_expr, ty) => state)
──────── ("block")
366118(borrow_check_expr_has_ty(env, assumptions, state, expr, ty, places_live_on_exit) => state)

7 tests failed proving this premise:


Source location: tests/borrowck.rs:3470 (all coverage from this test)

fn foo<'a, 'b>(a: &'a u32) -> &'b u32 {
    let r: &'b u32 = identity::<&'b u32>(a);
    return r;
}
Failed proof tree

Source location: tests/mir_typeck.rs:392 (all coverage from this test)

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

Source location: tests/mir_typeck.rs:488 (all coverage from this test)

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

Source location: tests/mir_typeck.rs:848 (all coverage from this test)

fn foo (v1: u32) -> u32 {
    let v2: Dummy = Dummy { value: false };
    return v1;
}
Failed proof tree

Source location: tests/mir_typeck.rs:1218 (all coverage from this test)

fn foo() -> () {
    let x: i32 = 1_i32 + 2_u32;
}
Failed proof tree

Source location: tests/mir_typeck.rs:1270 (all coverage from this test)

fn foo() -> () {
    let x: i32 = 10_i32 - 3_u32;
}
Failed proof tree

Source location: tests/mir_typeck.rs:1323 (all coverage from this test)

fn foo() -> () {
    let x: i32 = 3_i32 * 4_u32;
}
Failed proof tree

How to read this page