Judgment only_assumed_outlives
judgment_fn! {
/// For existential lifetimes, trivially succeeds.
/// For universal lifetimes, checks all transitively outlived variables can be proven from assumptions.
fn only_assumed_outlives(
env: TypeckEnv,
assumptions: Predicates,
outlives: Set<PendingOutlives>,
v: Variable,
) => () {
/* rules omitted */
}
}
Source: crates/formality-rust/src/check/borrow_check/outlives.rs:27
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.
existential| Line | Coverage | Source |
|---|---|---|
| 40 | ✗ | (if v.is_existential()) |
| ──────── ("existential") | ||
| 42 | 43 | (only_assumed_outlives(_env, _assumptions, _outlives, v) => ()) |
universal lifetime| Line | Coverage | Source |
|---|---|---|
| 47 | ✗ | (if v.is_universal()) |
| 48 | ✗ | (for_all(param in transitively_outlived_by(env, outlives, v)) (can_outlive(env, assumptions, outlives, v, param) => ())) |
| ──────── ("universal lifetime") | ||
| 51 | 25 | (only_assumed_outlives(env, assumptions, outlives, v) => ()) |