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

Judgment loan_not_required_by_live_place_prefix

judgment_fn! {
    /// For some `place_live` where
    ///
    ///    let x = &'lt_loan place_borrowed;
    ///    ...
    ///    access(place_accessed); // conflicts with the borrow
    ///    ...
    ///    access(place_live) // <-- an access like this occurs later
    ///
    /// ...show that `place_live` does not require data derived from `x`.
    fn loan_not_required_by_live_place_prefix(
        env: TypeckEnv,
        assumptions: Predicates,
        outlives: Set<PendingOutlives>,
        loan: Loan,
        live_place: TypedPlaceExpr,
    ) => () {
        /* rules omitted */
    }
}

Source: crates/formality-rust/src/check/borrow_check/nll.rs:1362

The number on each rule’s conclusion is positive coverage; the number on each premise is negative coverage. Click a number to browse the tests.

no prefix
LineCoverageSource
1382✗(if let None = live_place.prefix())
──────── ("no prefix")
138412(loan_not_required_by_live_place_prefix(_env, _assumptions, _outlives, _loan, live_place) => ())
prefix
LineCoverageSource
1388✗(if let Some(prefix) = live_place.prefix())
1389✗(loan_not_required_by_live_place(env, assumptions, outlives, loan, prefix) => ())
──────── ("prefix")
13913(loan_not_required_by_live_place_prefix(env, assumptions, outlives, loan, live_place) => ())

How to read this page