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_parameter

judgment_fn! {
    /// For some `place_live` which has type `place_live_ty` 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_ty` does not require data derived from `x`.
    fn loan_not_required_by_parameter(
        env: TypeckEnv,
        assumptions: Predicates,
        outlives: Set<PendingOutlives>,
        loan: Loan,
        live_parameter: Parameter,
    ) => () {
        /* rules omitted */
    }
}

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

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.

rigid-ty
LineCoverageSource
141629(loan_not_required_by_parameters(env, assumptions, outlives, loan, parameters) => ())
──────── ("rigid-ty")
141812(loan_not_required_by_parameter(env, assumptions, outlives, loan, RigidTy { name: _, parameters }) => ())
alias-ty RFC 1214
LineCoverageSource
143218(loan_not_required_by_parameters(env, assumptions, outlives, loan, parameters) => ())
──────── ("alias-ty RFC 1214")
14343(loan_not_required_by_parameter(env, assumptions, outlives, loan, AliasTy { name: _, parameters }) => ())
for-all-type
LineCoverageSource
1446✗(scope(env.enter_universally(binder) => (env, parameter)) with()
(loan_not_required_by_parameter(env, assumptions, outlives, loan, parameter) => ()))
──────── ("for-all-type")
1449✗(loan_not_required_by_parameter(env, assumptions, outlives, loan, PredicateTy::ForAll(binder)) => ())
universal-variable
LineCoverageSource
14906(loan_cannot_outlive_universal_regions(env, assumptions, outlives, &loan) => ())
──────── ("universal-variable")
1492✗(loan_not_required_by_parameter(env, assumptions, outlives, loan, Variable::UniversalVar(_v)) => ())
lifetime
LineCoverageSource
150629(loan_cannot_outlive(env, assumptions, outlives, loan, live_lt) => ())
──────── ("lifetime")
15089(loan_not_required_by_parameter(env, assumptions, outlives, loan, live_lt: Lt) => ())

How to read this page