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 to_refs3

Source location: tests/borrowck.rs:4549

fn to_refs3<'a>(list: &'a mut List) -> &'a mut u32 {
    exists<'r0, 'r1> {
        let result: &'a mut u32;
        let cursor: &'a mut List = &'a mut *list;
        'l: loop {
            result = &'r0 mut (*cursor).value;
            if true {
                let n: &'r1 mut List = next_from_field::<'r1>(&'r1 mut (*cursor).next);
                cursor = n;
            } else {
                return result;
            }
        }
    }
}

Rules proved (93)

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_loanwrite-indirect10 tests
access_permitted_by_loansaccess_permitted_by_loans106 tests
borrow_checkborrow_check175 tests
borrow_check_blockbasic block175 tests
borrow_check_exprassign27 tests
borrow_check_exprcall41 tests
borrow_check_exprplace100 tests
borrow_check_exprref41 tests
borrow_check_exprtrue28 tests
borrow_check_exprturbofish30 tests
borrow_check_expr_has_tyblock118 tests
borrow_check_fn_reffn-ref43 tests
borrow_check_loopfixed-point23 tests
borrow_check_looploop20 tests
borrow_check_place_exprderef-ref42 tests
borrow_check_place_exprlocal103 tests
borrow_check_place_exprparens8 tests
borrow_check_place_exprstruct field19 tests
borrow_check_statementexists48 tests
borrow_check_statementexpr47 tests
borrow_check_statementif29 tests
borrow_check_statementlet94 tests
borrow_check_statementlet-no-init6 tests
borrow_check_statementloop23 tests
borrow_check_statementreturn79 tests
can_outliveexistential target20 tests
check_adtcheck adt59 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_itemadt59 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_bodytrusted fn body15 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
only_assumed_outlivesexistential43 tests
only_assumed_outlivesuniversal lifetime25 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_eqrigid201 tests
prove_eqsymmetric220 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_movablelocal89 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_refref10 tests
prove_ty_is_rigidnormalize9 tests
prove_ty_is_rigidrigid76 tests
prove_wfADT46 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 4289 nodes shown)

How to read this page