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 conditional_with_indirection

Source location: tests/borrowck.rs:4056

fn conditional_with_indirection() -> u32 {
    exists<'r0, 'r1, 'r2, 'r3> {
        let b: X = X { value: 0_u32 };
        let p: &'r0 mut X = &'r1 mut b;
        'l: loop {
            let now: &'r2 mut X = &'r2 mut *p;
            if true {
                if true {
                    let next: &'r3 mut X = next_of::<'r3>(&'r3 mut *p);
                    p = next;
                } else {
                }
            } else {
                break 'l;
            }
        }
        return 0_u32;
    }
}

Rules proved (97)

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_loanwrite-indirect9 tests
access_permitted_by_loansaccess_permitted_by_loans76 tests
borrow_checkborrow_check90 tests
borrow_check_blockbasic block90 tests
borrow_check_exprassign22 tests
borrow_check_exprcall25 tests
borrow_check_exprliteral55 tests
borrow_check_exprplace71 tests
borrow_check_exprref29 tests
borrow_check_exprstruct12 tests
borrow_check_exprtrue27 tests
borrow_check_exprturbofish19 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_statementbreak17 tests
borrow_check_statementexists36 tests
borrow_check_statementexpr25 tests
borrow_check_statementif28 tests
borrow_check_statementlet70 tests
borrow_check_statementloop22 tests
borrow_check_statementreturn64 tests
check_adtcheck adt45 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_itemadt45 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_outliveloan_cannot_outlive8 tests
loan_cannot_outlive_universal_regionsloan_not_required_by_universal_regions15 tests
loan_not_required_by_live_placeloan is not required by type10 tests
loan_not_required_by_live_place_prefixno prefix10 tests
loan_not_required_by_live_place_prefixprefix3 tests
loan_not_required_by_live_placesloan_not_required_by_live_places15 tests
loan_not_required_by_parameteralias-ty RFC 12143 tests
loan_not_required_by_parameterlifetime8 tests
loan_not_required_by_parameterrigid-ty10 tests
loan_not_required_by_parametersloan_not_required_by_parameters10 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-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_movablelocal68 tests
prove_sublifetime => outlives28 tests
prove_subnormalize-l25 tests
prove_subrigid31 tests
prove_ty_is_refref9 tests
prove_ty_is_rigidrigid33 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_wfADT32 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 2450 nodes shown)