Judgment loan_not_required_by_live_place
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(
env: TypeckEnv,
assumptions: Predicates,
outlives: Set<PendingOutlives>,
loan: Loan,
live_place: TypedPlaceExpr,
) => () {
/* rules omitted */
}
}
Source: crates/formality-rust/src/check/borrow_check/nll.rs:1328
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.
loan is not required by type| Line | Coverage | Source |
|---|---|---|
| 1348 | 29 | (loan_not_required_by_parameter(env, assumptions, outlives, loan, &live_place.ty) => ()) |
| 1349 | ✗ | (loan_not_required_by_live_place_prefix(env, assumptions, outlives, loan, live_place) => ()) |
| ──────── ("loan is not required by type") | ||
| 1351 | 12 | (loan_not_required_by_live_place( env, assumptions, outlives, loan, live_place, ) => ()) |