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:3156

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 (80)

JudgmentRuleAll tests of this rule
access_kind_for_place_usemove100 tests
access_permittedaccess_permitted103 tests
access_permitted_by_loanborrow of disjoint places41 tests
access_permitted_by_loanloan is dead18 tests
access_permitted_by_loansaccess_permitted_by_loans106 tests
borrow_checkborrow_check175 tests
borrow_check_blockbasic block175 tests
borrow_check_exprliteral114 tests
borrow_check_exprplace100 tests
borrow_check_exprref41 tests
borrow_check_expr_has_tyblock118 tests
borrow_check_loopfixed-point23 tests
borrow_check_looploop20 tests
borrow_check_place_exprderef-ref42 tests
borrow_check_place_exprlocal103 tests
borrow_check_statementcontinue3 tests
borrow_check_statementexists48 tests
borrow_check_statementlet94 tests
borrow_check_statementloop23 tests
check_all_cratescheck all prefixes214 tests
check_associated_tycheck associated ty195 tests
check_associated_ty_valuecheck_associated_ty_value194 tests
check_coherencecheck_coherence214 tests
check_cratecheck crate214 tests
check_crate_itemfeature gate62 tests
check_crate_itemfree fn175 tests
check_crate_itemtrait214 tests
check_crate_itemtrait impl210 tests
check_drop_impl_always_applicablenot a Drop impl210 tests
check_fncheck fn200 tests
check_fn_bodyexpr fn body175 tests
check_fn_bodyno fn body192 tests
check_fn_in_traitcheck fn in trait193 tests
check_free_fncheck free fn175 tests
check_safety_matchessafety matches210 tests
check_traitcheck trait214 tests
check_trait_implcheck_trait_impl210 tests
check_trait_impl_itemassociated ty value194 tests
check_trait_itemassociated ty in trait195 tests
check_trait_itemfn in trait193 tests
drop_placesdrop_places175 tests
is_local_trait_reflocal trait205 tests
loan_cannot_outlive_universal_regionsloan_not_required_by_universal_regions18 tests
loan_not_required_by_live_placesloan_not_required_by_live_places18 tests
only_assumed_outlivesexistential43 tests
orphan_checkorphan_check210 tests
overlap_check_impldifferent trait194 tests
overlap_check_implnot goal195 tests
overlap_check_implsame impl210 tests
prove_afterprove_after237 tests
prove_assignablesubtype129 tests
prove_eqexistential223 tests
prove_eqnormalize-l26 tests
prove_eqrigid201 tests
prove_eqsymmetric220 tests
prove_existential_var_eqexistential-existential21 tests
prove_existential_var_eqexistential-nonvar56 tests
prove_existential_var_eqexistential-universal214 tests
prove_normalizenormalize-via-impl55 tests
prove_outlivesanything can be pending29 tests
prove_outlivesoutlive through assumption195 tests
prove_outlivesrigid types55 tests
prove_place_is_movablecopy17 tests
prove_predicateeq231 tests
prove_predicateoutlives195 tests
prove_predicateparameter well formed204 tests
prove_predicatepositive impl219 tests
prove_predicatesubtype134 tests
prove_predicatetrait ref is local211 tests
prove_predicate_listnone238 tests
prove_predicate_listsome237 tests
prove_sublifetime => outlives29 tests
prove_subnormalize-l29 tests
prove_subrigid33 tests
prove_ty_is_copytrait20 tests
prove_wfintegers and booleans131 tests
prove_wfreferences192 tests
prove_wftuples200 tests
prove_wfuniversal variables206 tests
verify_universal_outlivesverify_universal_outlives44 tests

Premises failed (0)

This test records no negative coverage.

Proof trees

Proof tree
… (200 of 3844 nodes shown)

How to read this page