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 foo

Source location: tests/borrowck.rs:2828

fn foo() -> u32 {
    exists<'r0, 'r1> {
        'a: loop {
            let x: i32 = 0_i32;
            let r: &'r0 i32 = &'r1 x;
            let _y: i32 = *r;
            continue 'a;
        }
    }
}

Rules proved (76)

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_loanloan is dead15 tests
access_permitted_by_loansaccess_permitted_by_loans76 tests
borrow_checkborrow_check90 tests
borrow_check_blockbasic block90 tests
borrow_check_exprliteral55 tests
borrow_check_exprplace71 tests
borrow_check_exprref29 tests
borrow_check_expr_has_tyblock72 tests
borrow_check_loopfixed-point22 tests
borrow_check_looploop20 tests
borrow_check_place_exprderef-ref30 tests
borrow_check_place_exprlocal73 tests
borrow_check_statementcontinue3 tests
borrow_check_statementexists36 tests
borrow_check_statementlet70 tests
borrow_check_statementloop22 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_itemfeature gate45 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
loan_cannot_outlive_universal_regionsloan_not_required_by_universal_regions15 tests
loan_not_required_by_live_placesloan_not_required_by_live_places15 tests
only_assumed_outlivesexistential31 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_eqnormalize-l18 tests
prove_eqrigid119 tests
prove_eqsymmetric138 tests
prove_existential_var_eqexistential-existential12 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_movablecopy9 tests
prove_sublifetime => outlives28 tests
prove_subnormalize-l25 tests
prove_subrigid31 tests
prove_ty_is_copytrait9 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 1457 nodes shown)