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 may_be_remote

judgment_fn! {
    /// True if `goal` may be implemented in a crate that is not the current one.
    /// This could be a downstream crate that we cannot see, or it could be a future
    /// (semver-compatible) version of an upstream crate.
    ///
    /// Note that per RFC #2451, upstream crates are not permitted to add blanket impls
    /// and so new upstream impls for local types cannot be added.
    pub fn may_be_remote(
        _decls: Program,
        env: Env,
        assumptions: Predicates,
        goal: TraitRef,
    ) => Constraints {
        /* rules omitted */
    }
}

Source: crates/formality-rust/src/prove/is_local.rs:42

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.

may be defined downstream
LineCoverageSource
59✗(may_be_downstream_trait_ref(decls, env, assumptions, goal) => c)
──────── ("may be defined downstream")
61✗(may_be_remote(decls, env, assumptions, goal) => c)
may be added by upstream in a minor release
LineCoverageSource
67✗(may_not_be_provable(env, assumptions, goal, |env, assumptions, goal| is_local_trait_ref(decls, &env, assumptions, goal)) => c)
──────── ("may be added by upstream in a minor release")
69✗(may_be_remote(decls, env, assumptions, goal) => c)

How to read this page