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 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
LineCoverageSource
40✗(if v.is_existential())
──────── ("existential")
4243(only_assumed_outlives(_env, _assumptions, _outlives, v) => ())
universal lifetime
LineCoverageSource
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")
5125(only_assumed_outlives(env, assumptions, outlives, v) => ())

How to read this page