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
Line Coverage Source
1416 29 (loan_not_required_by_parameters(env, assumptions, outlives, loan, parameters) => ())
──────── ("rigid-ty")
1418 12 (loan_not_required_by_parameter(env, assumptions, outlives, loan, RigidTy { name: _, parameters }) => ())
alias-ty RFC 1214
Line Coverage Source
1432 18 (loan_not_required_by_parameters(env, assumptions, outlives, loan, parameters) => ())
──────── ("alias-ty RFC 1214")
1434 3 (loan_not_required_by_parameter(env, assumptions, outlives, loan, AliasTy { name: _, parameters }) => ())
for-all-type
Line Coverage Source
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
Line Coverage Source
1490 6 (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
Line Coverage Source
1506 29 (loan_cannot_outlive(env, assumptions, outlives, loan, live_lt) => ())
──────── ("lifetime")
1508 9 (loan_not_required_by_parameter(env, assumptions, outlives, loan, live_lt: Lt) => ())
How to read this page