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

Test reborrow

Source location: tests/borrowck.rs:337

fn reborrow<'a>(a: &'a mut u8) -> &'a mut u8 {
    exists<'r0, 'r1> {
        if true {
            let b: &'r1 mut u8 = &'r0 mut *a;
            return b;
        }
        return a;
    }
}

Rules proved (69)

JudgmentRuleAll tests of this rule
access_kind_for_place_usemove71 tests
access_permittedaccess_permitted73 tests
access_permitted_by_loanborrow of disjoint places29 tests
access_permitted_by_loansaccess_permitted_by_loans76 tests
borrow_checkborrow_check90 tests
borrow_check_blockbasic block90 tests
borrow_check_exprplace71 tests
borrow_check_exprref29 tests
borrow_check_exprtrue27 tests
borrow_check_expr_has_tyblock72 tests
borrow_check_place_exprderef-ref30 tests
borrow_check_place_exprlocal73 tests
borrow_check_statementexists36 tests
borrow_check_statementif28 tests
borrow_check_statementlet70 tests
borrow_check_statementreturn64 tests
can_outliveexistential target19 tests
check_all_cratescheck all prefixes131 tests
check_associated_tycheck associated ty116 tests
check_associated_ty_valuecheck_associated_ty_value115 tests
check_coherencecheck_coherence131 tests
check_cratecheck crate131 tests
check_crate_itemfree fn94 tests
check_crate_itemtrait131 tests
check_crate_itemtrait impl127 tests
check_drop_impl_always_applicablenot a Drop impl127 tests
check_fncheck fn96 tests
check_fn_bodyexpr fn body90 tests
check_free_fncheck free fn94 tests
check_safety_matchessafety matches127 tests
check_traitcheck trait131 tests
check_trait_implcheck_trait_impl127 tests
check_trait_impl_itemassociated ty value115 tests
check_trait_itemassociated ty in trait116 tests
drop_placesdrop_places90 tests
is_local_trait_reflocal trait126 tests
only_assumed_outlivesexistential31 tests
only_assumed_outlivesuniversal lifetime24 tests
orphan_checkorphan_check127 tests
overlap_checknot_goal115 tests (not in the report)
overlap_checkskip_different_trait115 tests (not in the report)
overlap_checkskip_same_impl127 tests (not in the report)
prove_afterprove_after154 tests
prove_assignablesubtype82 tests
prove_eqexistential141 tests
prove_eqrigid119 tests
prove_eqsymmetric138 tests
prove_existential_var_eqexistential-nonvar43 tests
prove_existential_var_eqexistential-universal132 tests
prove_normalizenormalize-via-impl39 tests
prove_outlivesanything can be pending28 tests (not in the report)
prove_outlivesoutlive through assumption113 tests (not in the report)
prove_outlivesrigid types39 tests (not in the report)
prove_place_is_movablelocal68 tests
prove_sublifetime => outlives28 tests
prove_subnormalize-l25 tests
prove_subrigid31 tests
prove_wceq148 tests
prove_wcoutlives113 tests
prove_wcparameter well formed121 tests
prove_wcpositive impl136 tests
prove_wcsubtype82 tests
prove_wctrait ref is local128 tests
prove_wc_listnone155 tests
prove_wc_listsome154 tests
prove_wfintegers and booleans97 tests
prove_wfreferences41 tests
prove_wfuniversal variables124 tests
verify_universal_outlivesverify_universal_outlives32 tests

Premises failed (0)

This test records no negative coverage.

Proof trees

Proof tree
… (200 of 1375 nodes shown)